aboutsummaryrefslogtreecommitdiff
path: root/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
diff options
context:
space:
mode:
authorBob Zeleznik <zzzman@gmail.com>2019-09-10 18:35:50 -0400
committerBob Zeleznik <zzzman@gmail.com>2019-09-10 18:35:50 -0400
commitec62b213439ab49134fa2dbbdf38a6d1ef5737cd (patch)
treec5f388e395953ff6cb6a2261e25d4c4b5869dc83 /src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
parentbe9562ef9d2ad2675641e6215f1567f7e0b9c0e3 (diff)
parent9608245db4ba8cca6054a0641f2eb2bd2032eba6 (diff)
Merge branch 'master' of https://github.com/browngraphicslab/Dash-Web
Diffstat (limited to 'src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx')
-rw-r--r--src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx27
1 files changed, 18 insertions, 9 deletions
diff --git a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
index 3ebbe0046..21f119d57 100644
--- a/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
+++ b/src/client/views/collections/collectionFreeForm/CollectionFreeFormView.tsx
@@ -8,7 +8,7 @@ import { Id } from "../../../../new_fields/FieldSymbols";
import { InkField, StrokeData } from "../../../../new_fields/InkField";
import { createSchema, makeInterface } from "../../../../new_fields/Schema";
import { ScriptField } from "../../../../new_fields/ScriptField";
-import { BoolCast, Cast, FieldValue, NumCast, StrCast } from "../../../../new_fields/Types";
+import { BoolCast, Cast, FieldValue, NumCast, StrCast, PromiseValue } from "../../../../new_fields/Types";
import { emptyFunction, returnEmptyString, returnOne, Utils } from "../../../../Utils";
import { CognitiveServices } from "../../../cognitive_services/CognitiveServices";
import { Docs } from "../../../documents/Documents";
@@ -262,14 +262,23 @@ export class CollectionFreeFormView extends CollectionSubView(PanZoomDocument) {
newBox.heading = 2;
}
}
- let ruleProvider = Cast(this.props.Document.ruleProvider, Doc);
- if (!(ruleProvider instanceof Doc)) ruleProvider = this.props.Document;
- let col = StrCast(ruleProvider["ruleColor_" + NumCast(newBox.heading)]);
- let round = StrCast(ruleProvider["ruleRounding_" + NumCast(newBox.heading)]);
- round && (Doc.GetProto(newBox).borderRounding = round);
- col && (Doc.GetProto(newBox).backgroundColor = col);
- newBox.ruleProvider = ruleProvider;
- this.addDocument(newBox, false);
+ PromiseValue(Cast(this.props.Document.ruleProvider, Doc)).then(ruleProvider => {
+ if (!ruleProvider) ruleProvider = this.props.Document;
+ // saturation shift
+ // let col = NumCast(ruleProvider["ruleColor_" + NumCast(newBox.heading)]);
+ // let back = Utils.fromRGBAstr(StrCast(this.props.Document.backgroundColor));
+ // let hsl = Utils.RGBToHSL(back.r, back.g, back.b);
+ // let newcol = { h: hsl.h, s: hsl.s + col, l: hsl.l };
+ // col && (Doc.GetProto(newBox).backgroundColor = Utils.toRGBAstr(Utils.HSLtoRGB(newcol.h, newcol.s, newcol.l)));
+ // OR transparency set
+ let col = StrCast(ruleProvider["ruleColor_" + NumCast(newBox.heading)]);
+ col && (Doc.GetProto(newBox).backgroundColor = col);
+
+ let round = StrCast(ruleProvider["ruleRounding_" + NumCast(newBox.heading)]);
+ round && (Doc.GetProto(newBox).borderRounding = round);
+ newBox.ruleProvider = ruleProvider;
+ this.addDocument(newBox, false);
+ });
}
private addDocument = (newBox: Doc, allowDuplicates: boolean) => {
this.props.addDocument(newBox, false);