@teselagen/ove 0.3.12 → 0.3.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +269 -315
- package/index.mjs +270 -316
- package/index.umd.js +295 -272
- package/package.json +2 -2
- package/src/Editor/index.js +1 -1
- package/src/Editor/userDefinedHandlersAndOpts.js +1 -1
- package/src/StatusBar/index.js +29 -33
- package/src/ToolBar/editTool.js +40 -36
- package/src/commands/index.js +2 -1
- package/src/helperComponents/PropertiesDialog/GeneralProperties.js +6 -4
- package/src/withEditorProps/index.js +0 -1
- package/style.css +138 -138
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teselagen/ove",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.13",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@teselagen/sequence-utils": "0.3.7",
|
|
17
17
|
"@teselagen/range-utils": "0.3.7",
|
|
18
|
-
"@teselagen/ui": "0.3.
|
|
18
|
+
"@teselagen/ui": "0.3.12",
|
|
19
19
|
"@teselagen/file-utils": "0.3.9",
|
|
20
20
|
"@teselagen/bounce-loader": "0.3.7",
|
|
21
21
|
"@teselagen/bio-parsers": "0.3.8",
|
package/src/Editor/index.js
CHANGED
|
@@ -902,7 +902,7 @@ export class Editor extends React.Component {
|
|
|
902
902
|
contentLeft={this.props.contentLeft}
|
|
903
903
|
editorName={editorName}
|
|
904
904
|
withDigestTool
|
|
905
|
-
|
|
905
|
+
beforeReadOnlyChange={this.props.beforeReadOnlyChange}
|
|
906
906
|
{...ToolBarProps}
|
|
907
907
|
/>
|
|
908
908
|
|
package/src/StatusBar/index.js
CHANGED
|
@@ -14,41 +14,35 @@ import { getSelectionMessage } from "../utils/editorUtils";
|
|
|
14
14
|
import useMeltingTemp from "../utils/useMeltingTemp";
|
|
15
15
|
import MeltingTemp from "./MeltingTemp";
|
|
16
16
|
import { getSequenceWithinRange } from "@teselagen/range-utils";
|
|
17
|
+
import { handleReadOnlyChange } from "../ToolBar/editTool";
|
|
17
18
|
|
|
18
19
|
const EditReadOnlyItem = connectToEditor(({ readOnly }) => ({
|
|
19
20
|
readOnly
|
|
20
|
-
}))(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
readOnly
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
) : (
|
|
46
|
-
"Editable"
|
|
47
|
-
)}
|
|
48
|
-
</StatusBarItem>
|
|
49
|
-
) : null;
|
|
50
|
-
}
|
|
51
|
-
);
|
|
21
|
+
}))(props => {
|
|
22
|
+
const { onSave, readOnly, showReadOnly, disableSetReadOnly } = props;
|
|
23
|
+
return showReadOnly ? (
|
|
24
|
+
<StatusBarItem dataTest="veStatusBar-readOnly">
|
|
25
|
+
{onSave ? (
|
|
26
|
+
<HTMLSelect
|
|
27
|
+
options={[
|
|
28
|
+
{ label: "Read Only", value: "readOnly" },
|
|
29
|
+
{ label: "Editable", value: "editable" }
|
|
30
|
+
]}
|
|
31
|
+
disabled={disableSetReadOnly || !onSave} //the !onSave here is redundant
|
|
32
|
+
className={Classes.MINIMAL}
|
|
33
|
+
value={readOnly ? "readOnly" : "editable"}
|
|
34
|
+
onChange={({ target: { value } }) =>
|
|
35
|
+
handleReadOnlyChange(value === "readOnly", props)
|
|
36
|
+
}
|
|
37
|
+
/>
|
|
38
|
+
) : readOnly ? (
|
|
39
|
+
"Read Only"
|
|
40
|
+
) : (
|
|
41
|
+
"Editable"
|
|
42
|
+
)}
|
|
43
|
+
</StatusBarItem>
|
|
44
|
+
) : null;
|
|
45
|
+
});
|
|
52
46
|
|
|
53
47
|
const ShowSelectionItem = compose(
|
|
54
48
|
connectToEditor(
|
|
@@ -226,7 +220,8 @@ export function StatusBar({
|
|
|
226
220
|
showGCContentByDefault,
|
|
227
221
|
onSelectionOrCaretChanged,
|
|
228
222
|
GCDecimalDigits = 1,
|
|
229
|
-
isProtein
|
|
223
|
+
isProtein,
|
|
224
|
+
beforeReadOnlyChange
|
|
230
225
|
}) {
|
|
231
226
|
return (
|
|
232
227
|
<div className="veStatusBar">
|
|
@@ -234,6 +229,7 @@ export function StatusBar({
|
|
|
234
229
|
<ShowTypeItem editorName={editorName}></ShowTypeItem>
|
|
235
230
|
)}
|
|
236
231
|
<EditReadOnlyItem
|
|
232
|
+
beforeReadOnlyChange={beforeReadOnlyChange}
|
|
237
233
|
editorName={editorName}
|
|
238
234
|
onSave={onSave}
|
|
239
235
|
disableSetReadOnly={disableSetReadOnly}
|
package/src/ToolBar/editTool.js
CHANGED
|
@@ -2,45 +2,49 @@ import React, { useState } from "react";
|
|
|
2
2
|
import { Icon } from "@blueprintjs/core";
|
|
3
3
|
import ToolbarItem from "./ToolbarItem";
|
|
4
4
|
import { connectToEditor } from "../withEditorProps";
|
|
5
|
+
import { func } from "prop-types";
|
|
5
6
|
|
|
6
7
|
export default connectToEditor(editorState => {
|
|
7
8
|
return {
|
|
8
9
|
readOnly: editorState.readOnly
|
|
9
10
|
};
|
|
10
|
-
})(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
)
|
|
11
|
+
})(props => {
|
|
12
|
+
const { toolbarItemProps, readOnly, disableSetReadOnly } = props;
|
|
13
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
14
|
+
const readOnlyTooltip = ({ readOnly, disableSetReadOnly }) => {
|
|
15
|
+
if (isLoading) {
|
|
16
|
+
return "Loading...";
|
|
17
|
+
} else if (disableSetReadOnly) {
|
|
18
|
+
return "You do not have permission to edit locks on this sequence";
|
|
19
|
+
}
|
|
20
|
+
return readOnly ? "Click to enable editing" : "Click to disable editing";
|
|
21
|
+
};
|
|
22
|
+
return (
|
|
23
|
+
<ToolbarItem
|
|
24
|
+
{...{
|
|
25
|
+
disabled: isLoading || disableSetReadOnly,
|
|
26
|
+
Icon: <Icon icon={readOnly ? "lock" : "unlock"} />,
|
|
27
|
+
onIconClick: () =>
|
|
28
|
+
handleReadOnlyChange(!readOnly, { ...props, setIsLoading }),
|
|
29
|
+
tooltip: readOnlyTooltip({ readOnly, disableSetReadOnly }),
|
|
30
|
+
...toolbarItemProps
|
|
31
|
+
}}
|
|
32
|
+
/>
|
|
33
|
+
);
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
export async function handleReadOnlyChange(
|
|
37
|
+
newVal,
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
39
|
+
{ beforeReadOnlyChange, updateReadOnlyMode, setIsLoading = () => {} }
|
|
40
|
+
) {
|
|
41
|
+
if (beforeReadOnlyChange) {
|
|
42
|
+
setIsLoading(true);
|
|
43
|
+
const shouldChange = await beforeReadOnlyChange(newVal);
|
|
44
|
+
setIsLoading(false);
|
|
45
|
+
if (shouldChange === false) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
45
48
|
}
|
|
46
|
-
);
|
|
49
|
+
updateReadOnlyMode(newVal);
|
|
50
|
+
}
|
package/src/commands/index.js
CHANGED
|
@@ -36,6 +36,7 @@ import {
|
|
|
36
36
|
showDialog
|
|
37
37
|
} from "../GlobalDialogUtils";
|
|
38
38
|
import { partsSubmenu } from "../MenuBar/viewSubmenu";
|
|
39
|
+
import { handleReadOnlyChange } from "../ToolBar/editTool";
|
|
39
40
|
|
|
40
41
|
const isProtein = props => props.sequenceData && props.sequenceData.isProtein;
|
|
41
42
|
const isOligo = props => props.sequenceData && props.sequenceData.isOligo;
|
|
@@ -139,7 +140,7 @@ const fileCommandDefs = {
|
|
|
139
140
|
isDisabled: props => props.disableSetReadOnly || !props.onSave,
|
|
140
141
|
isHidden: props => !props.toggleReadOnlyMode,
|
|
141
142
|
isActive: props => props.readOnly,
|
|
142
|
-
handler: props => props.
|
|
143
|
+
handler: props => handleReadOnlyChange(!props.readOnly, props)
|
|
143
144
|
},
|
|
144
145
|
|
|
145
146
|
importSequence: {
|
|
@@ -3,6 +3,7 @@ import { InputField, BPSelect, TextareaField } from "@teselagen/ui";
|
|
|
3
3
|
import { reduxForm } from "redux-form";
|
|
4
4
|
import withEditorProps from "../../withEditorProps";
|
|
5
5
|
import { compose } from "recompose";
|
|
6
|
+
import { handleReadOnlyChange } from "../../ToolBar/editTool";
|
|
6
7
|
|
|
7
8
|
class GeneralProperties extends React.Component {
|
|
8
9
|
updateSeqDesc = val => {
|
|
@@ -17,7 +18,6 @@ class GeneralProperties extends React.Component {
|
|
|
17
18
|
disableSetReadOnly,
|
|
18
19
|
updateAvailability,
|
|
19
20
|
sequenceData,
|
|
20
|
-
updateReadOnlyMode,
|
|
21
21
|
onSave,
|
|
22
22
|
showAvailability,
|
|
23
23
|
sequenceNameUpdate
|
|
@@ -102,10 +102,12 @@ class GeneralProperties extends React.Component {
|
|
|
102
102
|
<div className="ve-column-right">
|
|
103
103
|
{" "}
|
|
104
104
|
<BPSelect
|
|
105
|
+
className={"veReadOnlySelect"}
|
|
105
106
|
disabled={!onSave || disableSetReadOnly}
|
|
106
|
-
onChange={val =>
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
onChange={val =>
|
|
108
|
+
console.log(`val:`, val) ||
|
|
109
|
+
handleReadOnlyChange(val === "readOnly", this.props)
|
|
110
|
+
}
|
|
109
111
|
value={readOnly ? "readOnly" : "editable"}
|
|
110
112
|
options={[
|
|
111
113
|
{ label: "Read Only", value: "readOnly" },
|
package/style.css
CHANGED
|
@@ -10757,6 +10757,144 @@ li.bp3-menu-divider:last-child {
|
|
|
10757
10757
|
.bp3-dark .isBoldSeq {
|
|
10758
10758
|
stroke: white;
|
|
10759
10759
|
}
|
|
10760
|
+
.Popover-body {
|
|
10761
|
+
display: inline-flex;
|
|
10762
|
+
flex-direction: column;
|
|
10763
|
+
padding: 10px;
|
|
10764
|
+
background: white;
|
|
10765
|
+
color: black;
|
|
10766
|
+
box-shadow: 0px 1px 9px rgba(0, 0, 0, 0.5);
|
|
10767
|
+
z-index: 1;
|
|
10768
|
+
margin-top: 10px;
|
|
10769
|
+
}
|
|
10770
|
+
|
|
10771
|
+
.Popover-tipShape {
|
|
10772
|
+
fill: white;
|
|
10773
|
+
}
|
|
10774
|
+
|
|
10775
|
+
.Popover-tip {
|
|
10776
|
+
display: none;
|
|
10777
|
+
}
|
|
10778
|
+
|
|
10779
|
+
.veToolbar .veToolbarItemOuter {
|
|
10780
|
+
display: flex;
|
|
10781
|
+
height: 32px;
|
|
10782
|
+
}
|
|
10783
|
+
.veToolbar .veToolbarItemOuter .veToolbarItem {
|
|
10784
|
+
display: flex;
|
|
10785
|
+
align-items: center;
|
|
10786
|
+
height: 32px;
|
|
10787
|
+
}
|
|
10788
|
+
.veToolbarSpacer {
|
|
10789
|
+
height: 80%;
|
|
10790
|
+
width: 1px;
|
|
10791
|
+
margin-left: 10px;
|
|
10792
|
+
margin-right: 10px;
|
|
10793
|
+
}
|
|
10794
|
+
.veToolbar .veToolbarItemOuter .veToolbarIcon {
|
|
10795
|
+
padding: 3px;
|
|
10796
|
+
border-radius: 3px;
|
|
10797
|
+
height: 32px;
|
|
10798
|
+
width: 30px;
|
|
10799
|
+
display: flex;
|
|
10800
|
+
align-items: center;
|
|
10801
|
+
justify-content: center;
|
|
10802
|
+
color: #006cab;
|
|
10803
|
+
}
|
|
10804
|
+
.veToolbarItemOuter.disabled .veToolbarIcon {
|
|
10805
|
+
color: #c0c0c0;
|
|
10806
|
+
}
|
|
10807
|
+
.veToolbar .veToolbarItemOuter .veToolbarIcon.veToolbarItemToggled {
|
|
10808
|
+
background: lightgrey;
|
|
10809
|
+
border-color: #006cab;
|
|
10810
|
+
}
|
|
10811
|
+
|
|
10812
|
+
.veToolbar :not(.disabled).veToolbarItemOuter .veToolbarIcon:hover {
|
|
10813
|
+
border-color: #006cab;
|
|
10814
|
+
}
|
|
10815
|
+
.veToolbar .veToolbarItemOuter .veToolbarIcon:active {
|
|
10816
|
+
opacity: 0.7;
|
|
10817
|
+
}
|
|
10818
|
+
.veToolbar .veToolbarItemOuter .veToolbarIcon img,
|
|
10819
|
+
.veToolbar .veToolbarItemOuter .veToolbarIcon svg,
|
|
10820
|
+
.veToolbar .veToolbarItemOuter .veToolbarIcon object {
|
|
10821
|
+
cursor: pointer;
|
|
10822
|
+
}
|
|
10823
|
+
.veToolbar .veToolbarItemOuter .veToolbarIcon img svg,
|
|
10824
|
+
.veToolbar .veToolbarItemOuter .veToolbarIcon svg svg,
|
|
10825
|
+
.veToolbar .veToolbarItemOuter .veToolbarIcon object svg {
|
|
10826
|
+
color: #006baa;
|
|
10827
|
+
}
|
|
10828
|
+
|
|
10829
|
+
.minOrfSizeInput::-webkit-inner-spin-button,
|
|
10830
|
+
.minOrfSizeInput::-webkit-outer-spin-button {
|
|
10831
|
+
-webkit-appearance: none;
|
|
10832
|
+
margin: 0;
|
|
10833
|
+
}
|
|
10834
|
+
|
|
10835
|
+
.minOrfSizeInput {
|
|
10836
|
+
padding-bottom: 0.25em;
|
|
10837
|
+
width: 5em;
|
|
10838
|
+
margin-left: 10px;
|
|
10839
|
+
text-align: center;
|
|
10840
|
+
padding-top: 0.25em;
|
|
10841
|
+
border: 1px solid lightgrey;
|
|
10842
|
+
justify-content: center;
|
|
10843
|
+
display: flex;
|
|
10844
|
+
flex-direction: column;
|
|
10845
|
+
}
|
|
10846
|
+
|
|
10847
|
+
.veToolbarDropdown {
|
|
10848
|
+
cursor: pointer;
|
|
10849
|
+
padding: 0px;
|
|
10850
|
+
padding-bottom: 5px;
|
|
10851
|
+
padding-top: 5px;
|
|
10852
|
+
border-radius: 3px;
|
|
10853
|
+
}
|
|
10854
|
+
.veToolbarDropdown:hover {
|
|
10855
|
+
background: lightgrey;
|
|
10856
|
+
}
|
|
10857
|
+
.veToolbarDropdown.isOpen {
|
|
10858
|
+
background: lightgrey;
|
|
10859
|
+
}
|
|
10860
|
+
|
|
10861
|
+
.veToolbarCutsiteFilterHolder {
|
|
10862
|
+
min-width: 300px;
|
|
10863
|
+
}
|
|
10864
|
+
.veToolbarCutsiteFilterHolder > div {
|
|
10865
|
+
margin: 10px;
|
|
10866
|
+
}
|
|
10867
|
+
.veToolbarCutsiteFilterHolder .title {
|
|
10868
|
+
margin: 10px;
|
|
10869
|
+
background: blue;
|
|
10870
|
+
width: 100%;
|
|
10871
|
+
}
|
|
10872
|
+
|
|
10873
|
+
.translateInfoSpan {
|
|
10874
|
+
font-size: 0.8em;
|
|
10875
|
+
padding: 4px;
|
|
10876
|
+
}
|
|
10877
|
+
|
|
10878
|
+
.showOrfTranslateSpan {
|
|
10879
|
+
padding: 8px;
|
|
10880
|
+
}
|
|
10881
|
+
|
|
10882
|
+
.veToolbarOrfOptionsHolder {
|
|
10883
|
+
min-width: 300px;
|
|
10884
|
+
margin-bottom: 10px;
|
|
10885
|
+
}
|
|
10886
|
+
|
|
10887
|
+
.veToolbarViewOptionsHolder div {
|
|
10888
|
+
margin-left: 10px;
|
|
10889
|
+
margin-bottom: 10px;
|
|
10890
|
+
}
|
|
10891
|
+
.veToolbarViewOptionsHolder label {
|
|
10892
|
+
margin: 40px 10px;
|
|
10893
|
+
}
|
|
10894
|
+
.ve-toolbar-item-popover {
|
|
10895
|
+
/* the z-index has to be high for it to work with ice */
|
|
10896
|
+
z-index: 4000;
|
|
10897
|
+
}
|
|
10760
10898
|
.insertReplaceButton {
|
|
10761
10899
|
width: 140px;
|
|
10762
10900
|
}
|
|
@@ -11217,144 +11355,6 @@ path.partWithSelectedTag {
|
|
|
11217
11355
|
.taLineHolder div {
|
|
11218
11356
|
width: 100%;
|
|
11219
11357
|
}
|
|
11220
|
-
.Popover-body {
|
|
11221
|
-
display: inline-flex;
|
|
11222
|
-
flex-direction: column;
|
|
11223
|
-
padding: 10px;
|
|
11224
|
-
background: white;
|
|
11225
|
-
color: black;
|
|
11226
|
-
box-shadow: 0px 1px 9px rgba(0, 0, 0, 0.5);
|
|
11227
|
-
z-index: 1;
|
|
11228
|
-
margin-top: 10px;
|
|
11229
|
-
}
|
|
11230
|
-
|
|
11231
|
-
.Popover-tipShape {
|
|
11232
|
-
fill: white;
|
|
11233
|
-
}
|
|
11234
|
-
|
|
11235
|
-
.Popover-tip {
|
|
11236
|
-
display: none;
|
|
11237
|
-
}
|
|
11238
|
-
|
|
11239
|
-
.veToolbar .veToolbarItemOuter {
|
|
11240
|
-
display: flex;
|
|
11241
|
-
height: 32px;
|
|
11242
|
-
}
|
|
11243
|
-
.veToolbar .veToolbarItemOuter .veToolbarItem {
|
|
11244
|
-
display: flex;
|
|
11245
|
-
align-items: center;
|
|
11246
|
-
height: 32px;
|
|
11247
|
-
}
|
|
11248
|
-
.veToolbarSpacer {
|
|
11249
|
-
height: 80%;
|
|
11250
|
-
width: 1px;
|
|
11251
|
-
margin-left: 10px;
|
|
11252
|
-
margin-right: 10px;
|
|
11253
|
-
}
|
|
11254
|
-
.veToolbar .veToolbarItemOuter .veToolbarIcon {
|
|
11255
|
-
padding: 3px;
|
|
11256
|
-
border-radius: 3px;
|
|
11257
|
-
height: 32px;
|
|
11258
|
-
width: 30px;
|
|
11259
|
-
display: flex;
|
|
11260
|
-
align-items: center;
|
|
11261
|
-
justify-content: center;
|
|
11262
|
-
color: #006cab;
|
|
11263
|
-
}
|
|
11264
|
-
.veToolbarItemOuter.disabled .veToolbarIcon {
|
|
11265
|
-
color: #c0c0c0;
|
|
11266
|
-
}
|
|
11267
|
-
.veToolbar .veToolbarItemOuter .veToolbarIcon.veToolbarItemToggled {
|
|
11268
|
-
background: lightgrey;
|
|
11269
|
-
border-color: #006cab;
|
|
11270
|
-
}
|
|
11271
|
-
|
|
11272
|
-
.veToolbar :not(.disabled).veToolbarItemOuter .veToolbarIcon:hover {
|
|
11273
|
-
border-color: #006cab;
|
|
11274
|
-
}
|
|
11275
|
-
.veToolbar .veToolbarItemOuter .veToolbarIcon:active {
|
|
11276
|
-
opacity: 0.7;
|
|
11277
|
-
}
|
|
11278
|
-
.veToolbar .veToolbarItemOuter .veToolbarIcon img,
|
|
11279
|
-
.veToolbar .veToolbarItemOuter .veToolbarIcon svg,
|
|
11280
|
-
.veToolbar .veToolbarItemOuter .veToolbarIcon object {
|
|
11281
|
-
cursor: pointer;
|
|
11282
|
-
}
|
|
11283
|
-
.veToolbar .veToolbarItemOuter .veToolbarIcon img svg,
|
|
11284
|
-
.veToolbar .veToolbarItemOuter .veToolbarIcon svg svg,
|
|
11285
|
-
.veToolbar .veToolbarItemOuter .veToolbarIcon object svg {
|
|
11286
|
-
color: #006baa;
|
|
11287
|
-
}
|
|
11288
|
-
|
|
11289
|
-
.minOrfSizeInput::-webkit-inner-spin-button,
|
|
11290
|
-
.minOrfSizeInput::-webkit-outer-spin-button {
|
|
11291
|
-
-webkit-appearance: none;
|
|
11292
|
-
margin: 0;
|
|
11293
|
-
}
|
|
11294
|
-
|
|
11295
|
-
.minOrfSizeInput {
|
|
11296
|
-
padding-bottom: 0.25em;
|
|
11297
|
-
width: 5em;
|
|
11298
|
-
margin-left: 10px;
|
|
11299
|
-
text-align: center;
|
|
11300
|
-
padding-top: 0.25em;
|
|
11301
|
-
border: 1px solid lightgrey;
|
|
11302
|
-
justify-content: center;
|
|
11303
|
-
display: flex;
|
|
11304
|
-
flex-direction: column;
|
|
11305
|
-
}
|
|
11306
|
-
|
|
11307
|
-
.veToolbarDropdown {
|
|
11308
|
-
cursor: pointer;
|
|
11309
|
-
padding: 0px;
|
|
11310
|
-
padding-bottom: 5px;
|
|
11311
|
-
padding-top: 5px;
|
|
11312
|
-
border-radius: 3px;
|
|
11313
|
-
}
|
|
11314
|
-
.veToolbarDropdown:hover {
|
|
11315
|
-
background: lightgrey;
|
|
11316
|
-
}
|
|
11317
|
-
.veToolbarDropdown.isOpen {
|
|
11318
|
-
background: lightgrey;
|
|
11319
|
-
}
|
|
11320
|
-
|
|
11321
|
-
.veToolbarCutsiteFilterHolder {
|
|
11322
|
-
min-width: 300px;
|
|
11323
|
-
}
|
|
11324
|
-
.veToolbarCutsiteFilterHolder > div {
|
|
11325
|
-
margin: 10px;
|
|
11326
|
-
}
|
|
11327
|
-
.veToolbarCutsiteFilterHolder .title {
|
|
11328
|
-
margin: 10px;
|
|
11329
|
-
background: blue;
|
|
11330
|
-
width: 100%;
|
|
11331
|
-
}
|
|
11332
|
-
|
|
11333
|
-
.translateInfoSpan {
|
|
11334
|
-
font-size: 0.8em;
|
|
11335
|
-
padding: 4px;
|
|
11336
|
-
}
|
|
11337
|
-
|
|
11338
|
-
.showOrfTranslateSpan {
|
|
11339
|
-
padding: 8px;
|
|
11340
|
-
}
|
|
11341
|
-
|
|
11342
|
-
.veToolbarOrfOptionsHolder {
|
|
11343
|
-
min-width: 300px;
|
|
11344
|
-
margin-bottom: 10px;
|
|
11345
|
-
}
|
|
11346
|
-
|
|
11347
|
-
.veToolbarViewOptionsHolder div {
|
|
11348
|
-
margin-left: 10px;
|
|
11349
|
-
margin-bottom: 10px;
|
|
11350
|
-
}
|
|
11351
|
-
.veToolbarViewOptionsHolder label {
|
|
11352
|
-
margin: 40px 10px;
|
|
11353
|
-
}
|
|
11354
|
-
.ve-toolbar-item-popover {
|
|
11355
|
-
/* the z-index has to be high for it to work with ice */
|
|
11356
|
-
z-index: 4000;
|
|
11357
|
-
}
|
|
11358
11358
|
.veMergeFeaturesDialog .bp3-form-content {
|
|
11359
11359
|
flex-grow: 1;
|
|
11360
11360
|
}
|