aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoranika-ahluwalia <anika.ahluwalia@gmail.com>2020-07-30 09:50:33 -0500
committeranika-ahluwalia <anika.ahluwalia@gmail.com>2020-07-30 09:50:33 -0500
commitabb2140eb098b29e7b42b54d8e3173149c8a1123 (patch)
treee48424a3524682244091e5628aa1e7c327f3b20b
parent87d62f76f0ee26a17779c099ef43aba3f347cb03 (diff)
framework for ink in properties
-rw-r--r--src/client/views/collections/collectionFreeForm/FormatShapePane.tsx2
-rw-r--r--src/client/views/collections/collectionFreeForm/PropertiesView.scss68
-rw-r--r--src/client/views/collections/collectionFreeForm/PropertiesView.tsx40
3 files changed, 109 insertions, 1 deletions
diff --git a/src/client/views/collections/collectionFreeForm/FormatShapePane.tsx b/src/client/views/collections/collectionFreeForm/FormatShapePane.tsx
index ddc282e57..eb6097acf 100644
--- a/src/client/views/collections/collectionFreeForm/FormatShapePane.tsx
+++ b/src/client/views/collections/collectionFreeForm/FormatShapePane.tsx
@@ -395,12 +395,12 @@ export default class FormatShapePane extends AntimodeMenu {
@computed get widInput() { return this.inputBox("wid", this.shapeWid, (val: string) => this.shapeWid = val); }
@computed get rotInput() { return this.inputBoxDuo("rot", this.shapeRot, (val: string) => { this.rotate(Number(val) - Number(this.shapeRot)); this.shapeRot = val; return true; }, "∠:", "rot", this.shapeRot, (val: string) => this.shapeRot = val, ""); }
- @computed get XpsInput() { return this.inputBoxDuo("Xps", this.shapeXps, (val: string) => this.shapeXps = val, "X:", "Yps", this.shapeYps, (val: string) => this.shapeYps = val, "Y:"); }
@computed get YpsInput() { return this.inputBox("Yps", this.shapeYps, (val: string) => this.shapeYps = val); }
@computed get controlPoints() { return this.controlPointsButton(); }
@computed get lockRatio() { return this.lockRatioButton(); }
@computed get rotate90() { return this.rotate90Button(); }
+ @computed get XpsInput() { return this.inputBoxDuo("Xps", this.shapeXps, (val: string) => this.shapeXps = val, "X:", "Yps", this.shapeYps, (val: string) => this.shapeYps = val, "Y:"); }
@computed get propertyGroupItems() {
diff --git a/src/client/views/collections/collectionFreeForm/PropertiesView.scss b/src/client/views/collections/collectionFreeForm/PropertiesView.scss
index cb4b7375b..f70e5f837 100644
--- a/src/client/views/collections/collectionFreeForm/PropertiesView.scss
+++ b/src/client/views/collections/collectionFreeForm/PropertiesView.scss
@@ -117,6 +117,74 @@
}
}
+ .propertiesView-appearance {
+ border-bottom: 1px solid black;
+ //padding: 8.5px;
+
+ .propertiesView-appearance-title {
+ font-weight: bold;
+ font-size: 12.5px;
+ padding: 4px;
+ display: flex;
+ width: 200px;
+ color: white;
+ padding-left: 8px;
+ background-color: rgb(51, 51, 51);
+
+ .propertiesView-appearance-title-icon {
+ float: right;
+ right: 0;
+ position: absolute;
+ margin-left: 2px;
+ margin-right: 9px;
+
+ &:hover {
+ cursor: pointer;
+ }
+ }
+ }
+
+ .propertiesView-appearance-content {
+ font-size: 10px;
+ padding: 10px;
+ margin-left: 5px;
+ }
+ }
+
+ .propertiesView-transform {
+ border-bottom: 1px solid black;
+ //padding: 8.5px;
+
+ .propertiesView-transform-title {
+ font-weight: bold;
+ font-size: 12.5px;
+ padding: 4px;
+ display: flex;
+ width: 200px;
+ color: white;
+ padding-left: 8px;
+ background-color: rgb(51, 51, 51);
+
+ .propertiesView-transform-title-icon {
+ float: right;
+ right: 0;
+ position: absolute;
+ margin-left: 2px;
+ margin-right: 9px;
+
+ &:hover {
+ cursor: pointer;
+ }
+ }
+ }
+
+ .propertiesView-transform-content {
+ font-size: 10px;
+ padding: 10px;
+ margin-left: 5px;
+ }
+ }
+
.notify-button {
padding: 2px;
width: 12px;
diff --git a/src/client/views/collections/collectionFreeForm/PropertiesView.tsx b/src/client/views/collections/collectionFreeForm/PropertiesView.tsx
index d5317efcb..7c8e7cdc3 100644
--- a/src/client/views/collections/collectionFreeForm/PropertiesView.tsx
+++ b/src/client/views/collections/collectionFreeForm/PropertiesView.tsx
@@ -18,6 +18,8 @@ import { SelectionManager } from "../../../util/SelectionManager";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { Tooltip, Checkbox } from "@material-ui/core";
import SharingManager from "../../../util/SharingManager";
+import { DocumentType } from "../../../documents/DocumentTypes";
+import FormatShapePane from "./FormatShapePane";
interface PropertiesViewProps {
@@ -47,6 +49,10 @@ export class PropertiesView extends React.Component<PropertiesViewProps> {
@observable openSharing: boolean = true;
@observable openFields: boolean = true;
@observable openLayout: boolean = true;
+ @observable openAppearance: boolean = true;
+ @observable openTransform: boolean = true;
+
+ @computed get isInk() { return this.selectedDoc?.type === DocumentType.INK; }
@action
rtfWidth = () => {
@@ -383,6 +389,40 @@ export class PropertiesView extends React.Component<PropertiesViewProps> {
{this.sharingTable}
</div> : null}
</div>
+
+
+
+
+ {this.isInk ? <div className="propertiesView-appearance">
+ <div className="propertiesView-appearance-title" style={{ backgroundColor: this.openAppearance ? "black" : "" }}>
+ Appearance
+ <div className="propertiesView-appearance-title-icon"
+ onPointerDown={() => runInAction(() => { this.openAppearance = !this.openAppearance; })}>
+ <FontAwesomeIcon icon={this.openAppearance ? "caret-down" : "caret-right"} size="lg" color="white" />
+ </div>
+ </div>
+ {this.openAppearance ? <div className="propertiesView-appearance-content">
+ <FormatShapePane />
+ </div> : null}
+ </div> : null}
+
+ {this.isInk ? <div className="propertiesView-transform">
+ <div className="propertiesView-transform-title" style={{ backgroundColor: this.openTransform ? "black" : "" }}>
+ Transform
+ <div className="propertiesView-transform-title-icon"
+ onPointerDown={() => runInAction(() => { this.openTransform = !this.openTransform; })}>
+ <FontAwesomeIcon icon={this.openTransform ? "caret-down" : "caret-right"} size="lg" color="white" />
+ </div>
+ </div>
+ {this.openTransform ? <div className="propertiesView-transform-content">
+ transform
+ </div> : null}
+ </div> : null}
+
+
+
+
+
<div className="propertiesView-fields">
<div className="propertiesView-fields-title" style={{ backgroundColor: this.openFields ? "black" : "" }}>
<div className="propertiesView-fields-title-name">