@elliemae/ds-codeeditor 2.3.0-alpha.9 → 2.3.0-next.11
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/cjs/DSCodeEditor.js +127 -0
- package/cjs/components/DSCodeEditorForm.js +189 -0
- package/cjs/components/DSCodeEditorImpl.js +88 -0
- package/cjs/index.js +10 -0
- package/esm/DSCodeEditor.js +116 -0
- package/esm/components/DSCodeEditorForm.js +182 -0
- package/esm/components/DSCodeEditorImpl.js +79 -0
- package/esm/index.js +1 -0
- package/package.json +27 -29
- package/{dist/types → types}/DSCodeEditor.d.ts +0 -0
- package/{dist/types → types}/components/DSCodeEditorForm.d.ts +0 -0
- package/{dist/types → types}/components/DSCodeEditorImpl.d.ts +0 -0
- package/{dist/types → types}/index.d.ts +0 -0
- package/dist/cjs/DSCodeEditor.js +0 -131
- package/dist/cjs/DSCodeEditor.js.map +0 -7
- package/dist/cjs/components/DSCodeEditorForm.js +0 -166
- package/dist/cjs/components/DSCodeEditorForm.js.map +0 -7
- package/dist/cjs/components/DSCodeEditorImpl.js +0 -98
- package/dist/cjs/components/DSCodeEditorImpl.js.map +0 -7
- package/dist/cjs/index.js +0 -36
- package/dist/cjs/index.js.map +0 -7
- package/dist/esm/DSCodeEditor.js +0 -102
- package/dist/esm/DSCodeEditor.js.map +0 -7
- package/dist/esm/components/DSCodeEditorForm.js +0 -137
- package/dist/esm/components/DSCodeEditorForm.js.map +0 -7
- package/dist/esm/components/DSCodeEditorImpl.js +0 -69
- package/dist/esm/components/DSCodeEditorImpl.js.map +0 -7
- package/dist/esm/index.js +0 -7
- package/dist/esm/index.js.map +0 -7
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __reExport = (target, module2, copyDefault, desc) => {
|
|
13
|
-
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(module2))
|
|
15
|
-
if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
|
|
16
|
-
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return target;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (module2, isNodeMode) => {
|
|
21
|
-
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
|
22
|
-
};
|
|
23
|
-
var __toCommonJS = /* @__PURE__ */ ((cache) => {
|
|
24
|
-
return (module2, temp) => {
|
|
25
|
-
return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
|
|
26
|
-
};
|
|
27
|
-
})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
|
|
28
|
-
var DSCodeEditorForm_exports = {};
|
|
29
|
-
__export(DSCodeEditorForm_exports, {
|
|
30
|
-
default: () => DSCodeEditorForm_default
|
|
31
|
-
});
|
|
32
|
-
var React = __toESM(require("react"));
|
|
33
|
-
var import_react = __toESM(require("react"));
|
|
34
|
-
var import_ds_button = __toESM(require("@elliemae/ds-button"));
|
|
35
|
-
var import_ds_form = require("@elliemae/ds-form");
|
|
36
|
-
var import_ds_classnames = require("@elliemae/ds-classnames");
|
|
37
|
-
var import_ds_icons = require("@elliemae/ds-icons");
|
|
38
|
-
const blockName = "code-editor";
|
|
39
|
-
const { cssClassName, classNameBlock } = (0, import_ds_classnames.convertPropToCssClassName)(blockName);
|
|
40
|
-
const CheckOptionsGroup = (0, import_ds_classnames.aggregatedClasses)("div")(`${blockName}-options-group`);
|
|
41
|
-
class DSCodeEditorForm extends import_react.Component {
|
|
42
|
-
constructor(props) {
|
|
43
|
-
super(props);
|
|
44
|
-
this.state = {
|
|
45
|
-
find: false,
|
|
46
|
-
replace: false,
|
|
47
|
-
isCaseSensitive: false,
|
|
48
|
-
isWholeWord: false,
|
|
49
|
-
filteredText: "",
|
|
50
|
-
replaceText: ""
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
searchWord(isReplace, all) {
|
|
54
|
-
const {
|
|
55
|
-
reactAceComponent: {
|
|
56
|
-
current: { editor }
|
|
57
|
-
}
|
|
58
|
-
} = this.props;
|
|
59
|
-
const { isCaseSensitive, isWholeWord, filteredText, replaceText } = this.state;
|
|
60
|
-
const options = {
|
|
61
|
-
backwards: false,
|
|
62
|
-
wrap: true,
|
|
63
|
-
caseSensitive: isCaseSensitive,
|
|
64
|
-
wholeWord: isWholeWord,
|
|
65
|
-
regExp: true
|
|
66
|
-
};
|
|
67
|
-
editor.find(filteredText, options);
|
|
68
|
-
const selectedContent = editor.getSelectedText();
|
|
69
|
-
if (isReplace && replaceText && selectedContent) {
|
|
70
|
-
if (all) {
|
|
71
|
-
editor.findAll(filteredText, options);
|
|
72
|
-
editor.replaceAll(replaceText);
|
|
73
|
-
} else {
|
|
74
|
-
const range = editor.selection.getRange();
|
|
75
|
-
editor.session.replace(range, replaceText);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
render() {
|
|
80
|
-
const { fileName } = this.props;
|
|
81
|
-
const { find, replace, isCaseSensitive, isWholeWord, filteredText, replaceText } = this.state;
|
|
82
|
-
return /* @__PURE__ */ import_react.default.createElement("div", {
|
|
83
|
-
className: `${cssClassName}`
|
|
84
|
-
}, fileName ? /* @__PURE__ */ import_react.default.createElement("div", {
|
|
85
|
-
className: classNameBlock("file-name")
|
|
86
|
-
}, "File Name: ", /* @__PURE__ */ import_react.default.createElement("span", null, " ", fileName, " ")) : null, /* @__PURE__ */ import_react.default.createElement("div", {
|
|
87
|
-
className: classNameBlock("find-replace-btn")
|
|
88
|
-
}, !find && !replace ? /* @__PURE__ */ import_react.default.createElement(import_ds_button.default, {
|
|
89
|
-
buttonType: "secondary",
|
|
90
|
-
labelText: "Find",
|
|
91
|
-
onClick: () => this.setState({ find: true }),
|
|
92
|
-
size: "m"
|
|
93
|
-
}) : null, !replace ? /* @__PURE__ */ import_react.default.createElement(import_ds_button.default, {
|
|
94
|
-
buttonType: "secondary",
|
|
95
|
-
labelText: "Find & Replace",
|
|
96
|
-
onClick: () => this.setState({ replace: true }),
|
|
97
|
-
size: "m"
|
|
98
|
-
}) : null), find || replace ? /* @__PURE__ */ import_react.default.createElement(import_ds_form.DSInputGroup, {
|
|
99
|
-
className: classNameBlock("find")
|
|
100
|
-
}, /* @__PURE__ */ import_react.default.createElement(import_ds_form.DSTextBox, {
|
|
101
|
-
className: "find-word",
|
|
102
|
-
fluidWidth: false,
|
|
103
|
-
id: "find-textbox",
|
|
104
|
-
onChange: (e) => this.setState({ filteredText: e.currentTarget.value }),
|
|
105
|
-
placeholder: "Find",
|
|
106
|
-
rightComponent: /* @__PURE__ */ import_react.default.createElement("div", {
|
|
107
|
-
className: classNameBlock("next-back-btn")
|
|
108
|
-
}, /* @__PURE__ */ import_react.default.createElement(import_ds_button.default, {
|
|
109
|
-
icon: /* @__PURE__ */ import_react.default.createElement(import_ds_icons.ChevronSmallLeft, null),
|
|
110
|
-
size: "m"
|
|
111
|
-
}), /* @__PURE__ */ import_react.default.createElement(import_ds_button.default, {
|
|
112
|
-
icon: /* @__PURE__ */ import_react.default.createElement(import_ds_icons.ChevronSmallRight, null),
|
|
113
|
-
onClick: () => this.searchWord(),
|
|
114
|
-
size: "m"
|
|
115
|
-
})),
|
|
116
|
-
value: filteredText
|
|
117
|
-
}), /* @__PURE__ */ import_react.default.createElement(CheckOptionsGroup, null, /* @__PURE__ */ import_react.default.createElement(import_ds_form.DSCheckbox, {
|
|
118
|
-
checked: isCaseSensitive,
|
|
119
|
-
id: "case-sensitive-check",
|
|
120
|
-
labelText: "Case Sensitive",
|
|
121
|
-
name: "case-sensitive-check",
|
|
122
|
-
onChange: () => this.setState({ isCaseSensitive: !isCaseSensitive })
|
|
123
|
-
}), /* @__PURE__ */ import_react.default.createElement(import_ds_form.DSCheckbox, {
|
|
124
|
-
checked: isWholeWord,
|
|
125
|
-
id: "whole-word-check",
|
|
126
|
-
labelText: "Whole Word",
|
|
127
|
-
name: "whole-word-check",
|
|
128
|
-
onChange: () => this.setState({ isWholeWord: !isWholeWord })
|
|
129
|
-
}), /* @__PURE__ */ import_react.default.createElement(import_ds_form.DSCheckbox, {
|
|
130
|
-
checked: replace,
|
|
131
|
-
id: "replace-check",
|
|
132
|
-
labelText: "Replace",
|
|
133
|
-
name: "replace-check",
|
|
134
|
-
onChange: () => this.setState({ replace: !replace })
|
|
135
|
-
})), /* @__PURE__ */ import_react.default.createElement(import_ds_button.default, {
|
|
136
|
-
buttonType: "secondary",
|
|
137
|
-
labelText: "Done",
|
|
138
|
-
onClick: () => this.setState({ replace: false, find: false }),
|
|
139
|
-
size: "m"
|
|
140
|
-
})) : null, replace ? /* @__PURE__ */ import_react.default.createElement("div", {
|
|
141
|
-
className: classNameBlock("replace")
|
|
142
|
-
}, /* @__PURE__ */ import_react.default.createElement(import_ds_form.DSTextBox, {
|
|
143
|
-
className: "find-word",
|
|
144
|
-
fluidWidth: false,
|
|
145
|
-
id: "replace-textbox",
|
|
146
|
-
onChange: (e) => this.setState({ replaceText: e.currentTarget.value }),
|
|
147
|
-
placeholder: "Replace",
|
|
148
|
-
value: replaceText
|
|
149
|
-
}), /* @__PURE__ */ import_react.default.createElement("div", {
|
|
150
|
-
className: classNameBlock("replace-btns")
|
|
151
|
-
}, /* @__PURE__ */ import_react.default.createElement(import_ds_button.default, {
|
|
152
|
-
buttonType: "secondary",
|
|
153
|
-
labelText: "Replace",
|
|
154
|
-
onClick: () => this.searchWord(true, false),
|
|
155
|
-
size: "m"
|
|
156
|
-
}), /* @__PURE__ */ import_react.default.createElement(import_ds_button.default, {
|
|
157
|
-
buttonType: "secondary",
|
|
158
|
-
labelText: "Replace All",
|
|
159
|
-
onClick: () => this.searchWord(true, true),
|
|
160
|
-
size: "m"
|
|
161
|
-
}))) : null);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
var DSCodeEditorForm_default = DSCodeEditorForm;
|
|
165
|
-
module.exports = __toCommonJS(DSCodeEditorForm_exports);
|
|
166
|
-
//# sourceMappingURL=DSCodeEditorForm.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/DSCodeEditorForm.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React, { Component } from 'react';\nimport DSButton from '@elliemae/ds-button';\nimport { DSCheckbox, DSTextBox, DSInputGroup } from '@elliemae/ds-form';\nimport { convertPropToCssClassName, aggregatedClasses } from '@elliemae/ds-classnames';\nimport { ChevronSmallLeft, ChevronSmallRight } from '@elliemae/ds-icons';\n\nconst blockName = 'code-editor';\n\nconst { cssClassName, classNameBlock } = convertPropToCssClassName(blockName);\n\nconst CheckOptionsGroup = aggregatedClasses('div')(`${blockName}-options-group`);\n\nclass DSCodeEditorForm extends Component {\n constructor(props) {\n super(props);\n this.state = {\n find: false,\n replace: false,\n isCaseSensitive: false,\n isWholeWord: false,\n filteredText: '',\n replaceText: '',\n };\n }\n\n searchWord(isReplace, all) {\n const {\n reactAceComponent: {\n current: { editor },\n },\n } = this.props;\n const { isCaseSensitive, isWholeWord, filteredText, replaceText } = this.state;\n const options = {\n backwards: false,\n wrap: true,\n caseSensitive: isCaseSensitive,\n wholeWord: isWholeWord,\n regExp: true,\n };\n editor.find(filteredText, options);\n const selectedContent = editor.getSelectedText();\n if (isReplace && replaceText && selectedContent) {\n if (all) {\n editor.findAll(filteredText, options);\n editor.replaceAll(replaceText);\n } else {\n const range = editor.selection.getRange();\n editor.session.replace(range, replaceText);\n }\n }\n }\n\n render() {\n const { fileName } = this.props;\n\n const { find, replace, isCaseSensitive, isWholeWord, filteredText, replaceText } = this.state;\n return (\n <div className={`${cssClassName}`}>\n {fileName ? (\n <div className={classNameBlock('file-name')}>\n File Name: <span> {fileName} </span>\n </div>\n ) : null}\n <div className={classNameBlock('find-replace-btn')}>\n {!find && !replace ? (\n <DSButton buttonType=\"secondary\" labelText=\"Find\" onClick={() => this.setState({ find: true })} size=\"m\" />\n ) : null}\n {!replace ? (\n <DSButton\n buttonType=\"secondary\"\n labelText=\"Find & Replace\"\n onClick={() => this.setState({ replace: true })}\n size=\"m\"\n />\n ) : null}\n </div>\n {find || replace ? (\n <DSInputGroup className={classNameBlock('find')}>\n <DSTextBox\n className=\"find-word\"\n fluidWidth={false}\n id=\"find-textbox\"\n onChange={(e) => this.setState({ filteredText: e.currentTarget.value })}\n placeholder=\"Find\"\n rightComponent={\n <div className={classNameBlock('next-back-btn')}>\n <DSButton icon={<ChevronSmallLeft />} size=\"m\" />\n <DSButton icon={<ChevronSmallRight />} onClick={() => this.searchWord()} size=\"m\" />\n </div>\n }\n value={filteredText}\n />\n <CheckOptionsGroup>\n <DSCheckbox\n checked={isCaseSensitive}\n id=\"case-sensitive-check\"\n labelText=\"Case Sensitive\"\n name=\"case-sensitive-check\"\n onChange={() => this.setState({ isCaseSensitive: !isCaseSensitive })}\n />\n <DSCheckbox\n checked={isWholeWord}\n id=\"whole-word-check\"\n labelText=\"Whole Word\"\n name=\"whole-word-check\"\n onChange={() => this.setState({ isWholeWord: !isWholeWord })}\n />\n <DSCheckbox\n checked={replace}\n id=\"replace-check\"\n labelText=\"Replace\"\n name=\"replace-check\"\n onChange={() => this.setState({ replace: !replace })}\n />\n </CheckOptionsGroup>\n <DSButton\n buttonType=\"secondary\"\n labelText=\"Done\"\n onClick={() => this.setState({ replace: false, find: false })}\n size=\"m\"\n />\n </DSInputGroup>\n ) : null}\n {replace ? (\n <div className={classNameBlock('replace')}>\n <DSTextBox\n className=\"find-word\"\n fluidWidth={false}\n id=\"replace-textbox\"\n onChange={(e) => this.setState({ replaceText: e.currentTarget.value })}\n placeholder=\"Replace\"\n value={replaceText}\n />\n <div className={classNameBlock('replace-btns')}>\n <DSButton\n buttonType=\"secondary\"\n labelText=\"Replace\"\n onClick={() => this.searchWord(true, false)}\n size=\"m\"\n />\n <DSButton\n buttonType=\"secondary\"\n labelText=\"Replace All\"\n onClick={() => this.searchWord(true, true)}\n size=\"m\"\n />\n </div>\n </div>\n ) : null}\n </div>\n );\n }\n}\n\nexport default DSCodeEditorForm;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __reExport = (target, module2, copyDefault, desc) => {
|
|
13
|
-
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(module2))
|
|
15
|
-
if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
|
|
16
|
-
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return target;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (module2, isNodeMode) => {
|
|
21
|
-
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
|
22
|
-
};
|
|
23
|
-
var __toCommonJS = /* @__PURE__ */ ((cache) => {
|
|
24
|
-
return (module2, temp) => {
|
|
25
|
-
return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
|
|
26
|
-
};
|
|
27
|
-
})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
|
|
28
|
-
var DSCodeEditorImpl_exports = {};
|
|
29
|
-
__export(DSCodeEditorImpl_exports, {
|
|
30
|
-
default: () => DSCodeEditorImpl_default
|
|
31
|
-
});
|
|
32
|
-
var React = __toESM(require("react"));
|
|
33
|
-
var import_react = __toESM(require("react"));
|
|
34
|
-
var import_react_ace = __toESM(require("react-ace"));
|
|
35
|
-
var import_ds_modal = __toESM(require("@elliemae/ds-modal"));
|
|
36
|
-
var import_DSCodeEditorForm = __toESM(require("./DSCodeEditorForm"));
|
|
37
|
-
var import_javascript = require("brace/mode/javascript.js");
|
|
38
|
-
var import_tomorrow = require("brace/theme/tomorrow.js");
|
|
39
|
-
class DSCodeEditorImpl extends import_react.Component {
|
|
40
|
-
constructor(props) {
|
|
41
|
-
super(props);
|
|
42
|
-
this.state = {
|
|
43
|
-
value: props.value,
|
|
44
|
-
errors: []
|
|
45
|
-
};
|
|
46
|
-
this.reactAceComponent = import_react.default.createRef();
|
|
47
|
-
}
|
|
48
|
-
render() {
|
|
49
|
-
const {
|
|
50
|
-
onSave,
|
|
51
|
-
onClose,
|
|
52
|
-
onReject,
|
|
53
|
-
isOpen,
|
|
54
|
-
fileName,
|
|
55
|
-
confirmLabel,
|
|
56
|
-
maxLines,
|
|
57
|
-
minLines,
|
|
58
|
-
modalTitle,
|
|
59
|
-
modalType,
|
|
60
|
-
rejectLabel,
|
|
61
|
-
size,
|
|
62
|
-
style,
|
|
63
|
-
containerProps
|
|
64
|
-
} = this.props;
|
|
65
|
-
const { value, errors } = this.state;
|
|
66
|
-
return /* @__PURE__ */ import_react.default.createElement(import_ds_modal.default, {
|
|
67
|
-
centered: false,
|
|
68
|
-
confirmLabel,
|
|
69
|
-
containerProps,
|
|
70
|
-
isOpen,
|
|
71
|
-
modalTitle,
|
|
72
|
-
modalType,
|
|
73
|
-
onClose: () => onClose(value, fileName, errors),
|
|
74
|
-
onConfirm: () => onSave(value, fileName, errors),
|
|
75
|
-
onReject: () => onReject(value, fileName, errors),
|
|
76
|
-
rejectLabel,
|
|
77
|
-
size,
|
|
78
|
-
style
|
|
79
|
-
}, /* @__PURE__ */ import_react.default.createElement(import_DSCodeEditorForm.default, {
|
|
80
|
-
fileName,
|
|
81
|
-
reactAceComponent: this.reactAceComponent
|
|
82
|
-
}), /* @__PURE__ */ import_react.default.createElement(import_react_ace.default, {
|
|
83
|
-
ref: this.reactAceComponent,
|
|
84
|
-
editorProps: { $blockScrolling: true },
|
|
85
|
-
maxLines,
|
|
86
|
-
minLines,
|
|
87
|
-
mode: "javascript",
|
|
88
|
-
name: "ace-code-edior",
|
|
89
|
-
onChange: (val) => this.setState({ value: val }),
|
|
90
|
-
onValidate: (annotations) => this.setState({ errors: annotations }),
|
|
91
|
-
theme: "tomorrow",
|
|
92
|
-
value
|
|
93
|
-
}));
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
var DSCodeEditorImpl_default = DSCodeEditorImpl;
|
|
97
|
-
module.exports = __toCommonJS(DSCodeEditorImpl_exports);
|
|
98
|
-
//# sourceMappingURL=DSCodeEditorImpl.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/components/DSCodeEditorImpl.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React, { Component } from 'react';\nimport AceEditor from 'react-ace';\nimport DSModal from '@elliemae/ds-modal';\nimport DSCodeEditorForm from './DSCodeEditorForm';\nimport 'brace/mode/javascript.js';\nimport 'brace/theme/tomorrow.js';\n\nclass DSCodeEditorImpl extends Component {\n constructor(props) {\n super(props);\n this.state = {\n value: props.value,\n errors: [],\n };\n this.reactAceComponent = React.createRef();\n }\n\n render() {\n const {\n onSave,\n onClose,\n onReject,\n isOpen,\n fileName,\n confirmLabel,\n maxLines,\n minLines,\n modalTitle,\n modalType,\n rejectLabel,\n size,\n style,\n containerProps,\n } = this.props;\n\n const { value, errors } = this.state;\n return (\n <DSModal\n centered={false}\n confirmLabel={confirmLabel}\n containerProps={containerProps}\n isOpen={isOpen}\n modalTitle={modalTitle}\n modalType={modalType}\n onClose={() => onClose(value, fileName, errors)}\n onConfirm={() => onSave(value, fileName, errors)}\n onReject={() => onReject(value, fileName, errors)}\n rejectLabel={rejectLabel}\n size={size}\n style={style}\n >\n <DSCodeEditorForm\n fileName={fileName}\n reactAceComponent={this.reactAceComponent}\n />\n <AceEditor\n ref={this.reactAceComponent}\n editorProps={{ $blockScrolling: true }}\n maxLines={maxLines}\n minLines={minLines}\n mode=\"javascript\"\n name=\"ace-code-edior\"\n onChange={val => this.setState({ value: val })}\n onValidate={annotations => this.setState({ errors: annotations })}\n theme=\"tomorrow\"\n value={value}\n />\n </DSModal>\n );\n }\n}\n\nexport default DSCodeEditorImpl;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAiC;AACjC,uBAAsB;AACtB,sBAAoB;AACpB,8BAA6B;AAC7B,wBAAO;AACP,sBAAO;AAEP,+BAA+B,uBAAU;AAAA,EACvC,YAAY,OAAO;AACjB,UAAM;AACN,SAAK,QAAQ;AAAA,MACX,OAAO,MAAM;AAAA,MACb,QAAQ;AAAA;AAEV,SAAK,oBAAoB,qBAAM;AAAA;AAAA,EAGjC,SAAS;AACP,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACE,KAAK;AAET,UAAM,EAAE,OAAO,WAAW,KAAK;AAC/B,WACE,mDAAC,yBAAD;AAAA,MACE,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,MAAM,QAAQ,OAAO,UAAU;AAAA,MACxC,WAAW,MAAM,OAAO,OAAO,UAAU;AAAA,MACzC,UAAU,MAAM,SAAS,OAAO,UAAU;AAAA,MAC1C;AAAA,MACA;AAAA,MACA;AAAA,OAEA,mDAAC,iCAAD;AAAA,MACE;AAAA,MACA,mBAAmB,KAAK;AAAA,QAE1B,mDAAC,0BAAD;AAAA,MACE,KAAK,KAAK;AAAA,MACV,aAAa,EAAE,iBAAiB;AAAA,MAChC;AAAA,MACA;AAAA,MACA,MAAK;AAAA,MACL,MAAK;AAAA,MACL,UAAU,SAAO,KAAK,SAAS,EAAE,OAAO;AAAA,MACxC,YAAY,iBAAe,KAAK,SAAS,EAAE,QAAQ;AAAA,MACnD,OAAM;AAAA,MACN;AAAA;AAAA;AAAA;AAOV,IAAO,2BAAQ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/dist/cjs/index.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __reExport = (target, module2, copyDefault, desc) => {
|
|
13
|
-
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(module2))
|
|
15
|
-
if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
|
|
16
|
-
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return target;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (module2, isNodeMode) => {
|
|
21
|
-
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
|
22
|
-
};
|
|
23
|
-
var __toCommonJS = /* @__PURE__ */ ((cache) => {
|
|
24
|
-
return (module2, temp) => {
|
|
25
|
-
return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
|
|
26
|
-
};
|
|
27
|
-
})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
|
|
28
|
-
var src_exports = {};
|
|
29
|
-
__export(src_exports, {
|
|
30
|
-
CodeEditorWithSchema: () => import_DSCodeEditor.CodeEditorWithSchema,
|
|
31
|
-
default: () => import_DSCodeEditor.default
|
|
32
|
-
});
|
|
33
|
-
var React = __toESM(require("react"));
|
|
34
|
-
var import_DSCodeEditor = __toESM(require("./DSCodeEditor"));
|
|
35
|
-
module.exports = __toCommonJS(src_exports);
|
|
36
|
-
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/index.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["export { default, CodeEditorWithSchema } from './DSCodeEditor';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,0BAA8C;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/dist/esm/DSCodeEditor.js
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import React2, { useState, useRef } from "react";
|
|
3
|
-
import { describe, PropTypes } from "react-desc";
|
|
4
|
-
import DSModal, { modalTypes } from "@elliemae/ds-modal";
|
|
5
|
-
import AceEditor from "react-ace";
|
|
6
|
-
import DSCodeEditorForm from "./components/DSCodeEditorForm";
|
|
7
|
-
import "brace/mode/javascript.js";
|
|
8
|
-
import "brace/theme/tomorrow.js";
|
|
9
|
-
const DSCodeEditor = ({
|
|
10
|
-
containerProps = {},
|
|
11
|
-
value: defaultValue = "",
|
|
12
|
-
onSave = () => null,
|
|
13
|
-
onClose = () => null,
|
|
14
|
-
onReject = () => null,
|
|
15
|
-
onChange = () => null,
|
|
16
|
-
isOpen = false,
|
|
17
|
-
fileName = "",
|
|
18
|
-
confirmLabel = "Save",
|
|
19
|
-
maxLines = 20,
|
|
20
|
-
minLines = 20,
|
|
21
|
-
modalTitle = "Javascript Editor",
|
|
22
|
-
modalType = "confirm",
|
|
23
|
-
rejectLabel = "Close",
|
|
24
|
-
size = "large",
|
|
25
|
-
style = {},
|
|
26
|
-
useModal = true,
|
|
27
|
-
showHeader = true,
|
|
28
|
-
showSyntaxChecks = true
|
|
29
|
-
}) => {
|
|
30
|
-
const [{ value, errors }, setState] = useState({
|
|
31
|
-
value: defaultValue,
|
|
32
|
-
errors: []
|
|
33
|
-
});
|
|
34
|
-
const reactAceComponent = useRef();
|
|
35
|
-
const editor = /* @__PURE__ */ React2.createElement(React2.Fragment, null, showHeader && /* @__PURE__ */ React2.createElement(DSCodeEditorForm, {
|
|
36
|
-
fileName,
|
|
37
|
-
reactAceComponent
|
|
38
|
-
}), /* @__PURE__ */ React2.createElement(AceEditor, {
|
|
39
|
-
ref: reactAceComponent,
|
|
40
|
-
editorProps: { $blockScrolling: true },
|
|
41
|
-
maxLines,
|
|
42
|
-
minLines,
|
|
43
|
-
mode: "javascript",
|
|
44
|
-
name: "ace-code-edior",
|
|
45
|
-
onChange: (val) => {
|
|
46
|
-
setState({ errors, value: val });
|
|
47
|
-
onChange(val, errors);
|
|
48
|
-
},
|
|
49
|
-
onValidate: (annotations) => setState({ value, errors: annotations }),
|
|
50
|
-
theme: "tomorrow",
|
|
51
|
-
setOptions: {
|
|
52
|
-
useWorker: showSyntaxChecks
|
|
53
|
-
},
|
|
54
|
-
value
|
|
55
|
-
}));
|
|
56
|
-
if (!useModal)
|
|
57
|
-
return editor;
|
|
58
|
-
return /* @__PURE__ */ React2.createElement(DSModal, {
|
|
59
|
-
centered: false,
|
|
60
|
-
confirmLabel,
|
|
61
|
-
containerProps,
|
|
62
|
-
isOpen,
|
|
63
|
-
modalTitle,
|
|
64
|
-
modalType,
|
|
65
|
-
onClose: () => onClose(value, fileName, errors),
|
|
66
|
-
onConfirm: () => onSave(value, fileName, errors),
|
|
67
|
-
onReject: () => onReject(value, fileName, errors),
|
|
68
|
-
rejectLabel,
|
|
69
|
-
size,
|
|
70
|
-
style
|
|
71
|
-
}, editor);
|
|
72
|
-
};
|
|
73
|
-
const codeEditorProps = {
|
|
74
|
-
containerProps: PropTypes.object.description("Set of Properties attached to the main container"),
|
|
75
|
-
value: PropTypes.string.description("editors content").isRequired,
|
|
76
|
-
onSave: PropTypes.func.description("function called when the user press save"),
|
|
77
|
-
onClose: PropTypes.func.description("function called when the user closes the modal"),
|
|
78
|
-
onReject: PropTypes.func.description("function called when is rejected"),
|
|
79
|
-
onChange: PropTypes.func.description("function executed when code editor value changes").isRequired,
|
|
80
|
-
isOpen: PropTypes.bool.description("Whether the modal is opened or not").defaultValue(false),
|
|
81
|
-
fileName: PropTypes.string.description("File name to open in the editor"),
|
|
82
|
-
maxLines: PropTypes.number.description("Max lines in the editor content").defaultValue(20),
|
|
83
|
-
minLines: PropTypes.number.description("Min lines in the editor content").defaultValue(20),
|
|
84
|
-
modalTitle: PropTypes.string.description("Modal title").defaultValue("Javascript Editor"),
|
|
85
|
-
confirmLabel: PropTypes.string.description("Customize modal confirm label").defaultValue("Save"),
|
|
86
|
-
rejectLabel: PropTypes.string.description("Customize modal rejection label").defaultValue("Close"),
|
|
87
|
-
modalType: PropTypes.oneOf(modalTypes).description("Modal type").defaultValue("confirm"),
|
|
88
|
-
size: PropTypes.oneOf(["xsmall", "small", "medium", "large", "xlarge"]).description("modal size").defaultValue("large"),
|
|
89
|
-
style: PropTypes.object.description("css inline style"),
|
|
90
|
-
useModal: PropTypes.bool.description("whether to use code editor inside modal or not").defaultValue(true),
|
|
91
|
-
showHeader: PropTypes.bool.description("show editors header").defaultValue(true),
|
|
92
|
-
showSyntaxChecks: PropTypes.bool.description("show syntax warnings and checks").defaultValue(true)
|
|
93
|
-
};
|
|
94
|
-
DSCodeEditor.propTypes = codeEditorProps;
|
|
95
|
-
const CodeEditorWithSchema = describe(DSCodeEditor);
|
|
96
|
-
CodeEditorWithSchema.propTypes = codeEditorProps;
|
|
97
|
-
var DSCodeEditor_default = DSCodeEditor;
|
|
98
|
-
export {
|
|
99
|
-
CodeEditorWithSchema,
|
|
100
|
-
DSCodeEditor_default as default
|
|
101
|
-
};
|
|
102
|
-
//# sourceMappingURL=DSCodeEditor.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSCodeEditor.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useState, useRef } from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport DSModal, { modalTypes } from '@elliemae/ds-modal';\nimport AceEditor from 'react-ace';\nimport DSCodeEditorForm from './components/DSCodeEditorForm';\nimport 'brace/mode/javascript.js';\nimport 'brace/theme/tomorrow.js';\n\nconst DSCodeEditor = ({\n containerProps = {},\n value: defaultValue = '',\n onSave = () => null,\n onClose = () => null,\n onReject = () => null,\n onChange = () => null,\n isOpen = false,\n fileName = '',\n confirmLabel = 'Save',\n maxLines = 20,\n minLines = 20,\n modalTitle = 'Javascript Editor',\n modalType = 'confirm',\n rejectLabel = 'Close',\n size = 'large',\n style = {},\n useModal = true,\n showHeader = true,\n showSyntaxChecks = true,\n}) => {\n const [{ value, errors }, setState] = useState({\n value: defaultValue,\n errors: [],\n });\n const reactAceComponent = useRef();\n\n const editor = (\n <>\n {showHeader && (\n <DSCodeEditorForm\n fileName={fileName}\n reactAceComponent={reactAceComponent}\n />\n )}\n <AceEditor\n ref={reactAceComponent}\n editorProps={{ $blockScrolling: true }}\n maxLines={maxLines}\n minLines={minLines}\n mode=\"javascript\"\n name=\"ace-code-edior\"\n onChange={(val) => {\n setState({ errors, value: val });\n onChange(val, errors);\n }}\n onValidate={(annotations) => setState({ value, errors: annotations })}\n theme=\"tomorrow\"\n setOptions={{\n useWorker: showSyntaxChecks,\n }}\n value={value}\n />\n </>\n );\n if (!useModal) return editor;\n return (\n <DSModal\n centered={false}\n confirmLabel={confirmLabel}\n containerProps={containerProps}\n isOpen={isOpen}\n modalTitle={modalTitle}\n modalType={modalType}\n onClose={() => onClose(value, fileName, errors)}\n onConfirm={() => onSave(value, fileName, errors)}\n onReject={() => onReject(value, fileName, errors)}\n rejectLabel={rejectLabel}\n size={size}\n style={style}\n >\n {editor}\n </DSModal>\n );\n};\n\nconst codeEditorProps = {\n containerProps: PropTypes.object.description(\n 'Set of Properties attached to the main container',\n ),\n value: PropTypes.string.description('editors content').isRequired,\n onSave: PropTypes.func.description(\n 'function called when the user press save',\n ),\n onClose: PropTypes.func.description(\n 'function called when the user closes the modal',\n ),\n onReject: PropTypes.func.description('function called when is rejected'),\n onChange: PropTypes.func.description(\n 'function executed when code editor value changes',\n ).isRequired,\n isOpen: PropTypes.bool\n .description('Whether the modal is opened or not')\n .defaultValue(false),\n fileName: PropTypes.string.description('File name to open in the editor'),\n maxLines: PropTypes.number\n .description('Max lines in the editor content')\n .defaultValue(20),\n minLines: PropTypes.number\n .description('Min lines in the editor content')\n .defaultValue(20),\n modalTitle: PropTypes.string\n .description('Modal title')\n .defaultValue('Javascript Editor'),\n confirmLabel: PropTypes.string\n .description('Customize modal confirm label')\n .defaultValue('Save'),\n rejectLabel: PropTypes.string\n .description('Customize modal rejection label')\n .defaultValue('Close'),\n modalType: PropTypes.oneOf(modalTypes)\n .description('Modal type')\n .defaultValue('confirm'),\n size: PropTypes.oneOf(['xsmall', 'small', 'medium', 'large', 'xlarge'])\n .description('modal size')\n .defaultValue('large'),\n style: PropTypes.object.description('css inline style'),\n useModal: PropTypes.bool\n .description('whether to use code editor inside modal or not')\n .defaultValue(true),\n showHeader: PropTypes.bool\n .description('show editors header')\n .defaultValue(true),\n showSyntaxChecks: PropTypes.bool\n .description('show syntax warnings and checks')\n .defaultValue(true),\n};\n\nDSCodeEditor.propTypes = codeEditorProps;\n\nconst CodeEditorWithSchema = describe(DSCodeEditor);\nCodeEditorWithSchema.propTypes = codeEditorProps;\n\nexport { CodeEditorWithSchema };\nexport default DSCodeEditor;\n"],
|
|
5
|
-
"mappings": "AAAA;ACCA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,eAAe,CAAC;AAAA,EACpB,iBAAiB;AAAA,EACjB,OAAO,eAAe;AAAA,EACtB,SAAS,MAAM;AAAA,EACf,UAAU,MAAM;AAAA,EAChB,WAAW,MAAM;AAAA,EACjB,WAAW,MAAM;AAAA,EACjB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,eAAe;AAAA,EACf,WAAW;AAAA,EACX,WAAW;AAAA,EACX,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,aAAa;AAAA,EACb,mBAAmB;AAAA,MACf;AACJ,QAAM,CAAC,EAAE,OAAO,UAAU,YAAY,SAAS;AAAA,IAC7C,OAAO;AAAA,IACP,QAAQ;AAAA;AAEV,QAAM,oBAAoB;AAE1B,QAAM,SACJ,4DACG,cACC,qCAAC,kBAAD;AAAA,IACE;AAAA,IACA;AAAA,MAGJ,qCAAC,WAAD;AAAA,IACE,KAAK;AAAA,IACL,aAAa,EAAE,iBAAiB;AAAA,IAChC;AAAA,IACA;AAAA,IACA,MAAK;AAAA,IACL,MAAK;AAAA,IACL,UAAU,CAAC,QAAQ;AACjB,eAAS,EAAE,QAAQ,OAAO;AAC1B,eAAS,KAAK;AAAA;AAAA,IAEhB,YAAY,CAAC,gBAAgB,SAAS,EAAE,OAAO,QAAQ;AAAA,IACvD,OAAM;AAAA,IACN,YAAY;AAAA,MACV,WAAW;AAAA;AAAA,IAEb;AAAA;AAIN,MAAI,CAAC;AAAU,WAAO;AACtB,SACE,qCAAC,SAAD;AAAA,IACE,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS,MAAM,QAAQ,OAAO,UAAU;AAAA,IACxC,WAAW,MAAM,OAAO,OAAO,UAAU;AAAA,IACzC,UAAU,MAAM,SAAS,OAAO,UAAU;AAAA,IAC1C;AAAA,IACA;AAAA,IACA;AAAA,KAEC;AAAA;AAKP,MAAM,kBAAkB;AAAA,EACtB,gBAAgB,UAAU,OAAO,YAC/B;AAAA,EAEF,OAAO,UAAU,OAAO,YAAY,mBAAmB;AAAA,EACvD,QAAQ,UAAU,KAAK,YACrB;AAAA,EAEF,SAAS,UAAU,KAAK,YACtB;AAAA,EAEF,UAAU,UAAU,KAAK,YAAY;AAAA,EACrC,UAAU,UAAU,KAAK,YACvB,oDACA;AAAA,EACF,QAAQ,UAAU,KACf,YAAY,sCACZ,aAAa;AAAA,EAChB,UAAU,UAAU,OAAO,YAAY;AAAA,EACvC,UAAU,UAAU,OACjB,YAAY,mCACZ,aAAa;AAAA,EAChB,UAAU,UAAU,OACjB,YAAY,mCACZ,aAAa;AAAA,EAChB,YAAY,UAAU,OACnB,YAAY,eACZ,aAAa;AAAA,EAChB,cAAc,UAAU,OACrB,YAAY,iCACZ,aAAa;AAAA,EAChB,aAAa,UAAU,OACpB,YAAY,mCACZ,aAAa;AAAA,EAChB,WAAW,UAAU,MAAM,YACxB,YAAY,cACZ,aAAa;AAAA,EAChB,MAAM,UAAU,MAAM,CAAC,UAAU,SAAS,UAAU,SAAS,WAC1D,YAAY,cACZ,aAAa;AAAA,EAChB,OAAO,UAAU,OAAO,YAAY;AAAA,EACpC,UAAU,UAAU,KACjB,YAAY,kDACZ,aAAa;AAAA,EAChB,YAAY,UAAU,KACnB,YAAY,uBACZ,aAAa;AAAA,EAChB,kBAAkB,UAAU,KACzB,YAAY,mCACZ,aAAa;AAAA;AAGlB,aAAa,YAAY;AAEzB,MAAM,uBAAuB,SAAS;AACtC,qBAAqB,YAAY;AAGjC,IAAO,uBAAQ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import React2, { Component } from "react";
|
|
3
|
-
import DSButton from "@elliemae/ds-button";
|
|
4
|
-
import { DSCheckbox, DSTextBox, DSInputGroup } from "@elliemae/ds-form";
|
|
5
|
-
import { convertPropToCssClassName, aggregatedClasses } from "@elliemae/ds-classnames";
|
|
6
|
-
import { ChevronSmallLeft, ChevronSmallRight } from "@elliemae/ds-icons";
|
|
7
|
-
const blockName = "code-editor";
|
|
8
|
-
const { cssClassName, classNameBlock } = convertPropToCssClassName(blockName);
|
|
9
|
-
const CheckOptionsGroup = aggregatedClasses("div")(`${blockName}-options-group`);
|
|
10
|
-
class DSCodeEditorForm extends Component {
|
|
11
|
-
constructor(props) {
|
|
12
|
-
super(props);
|
|
13
|
-
this.state = {
|
|
14
|
-
find: false,
|
|
15
|
-
replace: false,
|
|
16
|
-
isCaseSensitive: false,
|
|
17
|
-
isWholeWord: false,
|
|
18
|
-
filteredText: "",
|
|
19
|
-
replaceText: ""
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
searchWord(isReplace, all) {
|
|
23
|
-
const {
|
|
24
|
-
reactAceComponent: {
|
|
25
|
-
current: { editor }
|
|
26
|
-
}
|
|
27
|
-
} = this.props;
|
|
28
|
-
const { isCaseSensitive, isWholeWord, filteredText, replaceText } = this.state;
|
|
29
|
-
const options = {
|
|
30
|
-
backwards: false,
|
|
31
|
-
wrap: true,
|
|
32
|
-
caseSensitive: isCaseSensitive,
|
|
33
|
-
wholeWord: isWholeWord,
|
|
34
|
-
regExp: true
|
|
35
|
-
};
|
|
36
|
-
editor.find(filteredText, options);
|
|
37
|
-
const selectedContent = editor.getSelectedText();
|
|
38
|
-
if (isReplace && replaceText && selectedContent) {
|
|
39
|
-
if (all) {
|
|
40
|
-
editor.findAll(filteredText, options);
|
|
41
|
-
editor.replaceAll(replaceText);
|
|
42
|
-
} else {
|
|
43
|
-
const range = editor.selection.getRange();
|
|
44
|
-
editor.session.replace(range, replaceText);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
render() {
|
|
49
|
-
const { fileName } = this.props;
|
|
50
|
-
const { find, replace, isCaseSensitive, isWholeWord, filteredText, replaceText } = this.state;
|
|
51
|
-
return /* @__PURE__ */ React2.createElement("div", {
|
|
52
|
-
className: `${cssClassName}`
|
|
53
|
-
}, fileName ? /* @__PURE__ */ React2.createElement("div", {
|
|
54
|
-
className: classNameBlock("file-name")
|
|
55
|
-
}, "File Name: ", /* @__PURE__ */ React2.createElement("span", null, " ", fileName, " ")) : null, /* @__PURE__ */ React2.createElement("div", {
|
|
56
|
-
className: classNameBlock("find-replace-btn")
|
|
57
|
-
}, !find && !replace ? /* @__PURE__ */ React2.createElement(DSButton, {
|
|
58
|
-
buttonType: "secondary",
|
|
59
|
-
labelText: "Find",
|
|
60
|
-
onClick: () => this.setState({ find: true }),
|
|
61
|
-
size: "m"
|
|
62
|
-
}) : null, !replace ? /* @__PURE__ */ React2.createElement(DSButton, {
|
|
63
|
-
buttonType: "secondary",
|
|
64
|
-
labelText: "Find & Replace",
|
|
65
|
-
onClick: () => this.setState({ replace: true }),
|
|
66
|
-
size: "m"
|
|
67
|
-
}) : null), find || replace ? /* @__PURE__ */ React2.createElement(DSInputGroup, {
|
|
68
|
-
className: classNameBlock("find")
|
|
69
|
-
}, /* @__PURE__ */ React2.createElement(DSTextBox, {
|
|
70
|
-
className: "find-word",
|
|
71
|
-
fluidWidth: false,
|
|
72
|
-
id: "find-textbox",
|
|
73
|
-
onChange: (e) => this.setState({ filteredText: e.currentTarget.value }),
|
|
74
|
-
placeholder: "Find",
|
|
75
|
-
rightComponent: /* @__PURE__ */ React2.createElement("div", {
|
|
76
|
-
className: classNameBlock("next-back-btn")
|
|
77
|
-
}, /* @__PURE__ */ React2.createElement(DSButton, {
|
|
78
|
-
icon: /* @__PURE__ */ React2.createElement(ChevronSmallLeft, null),
|
|
79
|
-
size: "m"
|
|
80
|
-
}), /* @__PURE__ */ React2.createElement(DSButton, {
|
|
81
|
-
icon: /* @__PURE__ */ React2.createElement(ChevronSmallRight, null),
|
|
82
|
-
onClick: () => this.searchWord(),
|
|
83
|
-
size: "m"
|
|
84
|
-
})),
|
|
85
|
-
value: filteredText
|
|
86
|
-
}), /* @__PURE__ */ React2.createElement(CheckOptionsGroup, null, /* @__PURE__ */ React2.createElement(DSCheckbox, {
|
|
87
|
-
checked: isCaseSensitive,
|
|
88
|
-
id: "case-sensitive-check",
|
|
89
|
-
labelText: "Case Sensitive",
|
|
90
|
-
name: "case-sensitive-check",
|
|
91
|
-
onChange: () => this.setState({ isCaseSensitive: !isCaseSensitive })
|
|
92
|
-
}), /* @__PURE__ */ React2.createElement(DSCheckbox, {
|
|
93
|
-
checked: isWholeWord,
|
|
94
|
-
id: "whole-word-check",
|
|
95
|
-
labelText: "Whole Word",
|
|
96
|
-
name: "whole-word-check",
|
|
97
|
-
onChange: () => this.setState({ isWholeWord: !isWholeWord })
|
|
98
|
-
}), /* @__PURE__ */ React2.createElement(DSCheckbox, {
|
|
99
|
-
checked: replace,
|
|
100
|
-
id: "replace-check",
|
|
101
|
-
labelText: "Replace",
|
|
102
|
-
name: "replace-check",
|
|
103
|
-
onChange: () => this.setState({ replace: !replace })
|
|
104
|
-
})), /* @__PURE__ */ React2.createElement(DSButton, {
|
|
105
|
-
buttonType: "secondary",
|
|
106
|
-
labelText: "Done",
|
|
107
|
-
onClick: () => this.setState({ replace: false, find: false }),
|
|
108
|
-
size: "m"
|
|
109
|
-
})) : null, replace ? /* @__PURE__ */ React2.createElement("div", {
|
|
110
|
-
className: classNameBlock("replace")
|
|
111
|
-
}, /* @__PURE__ */ React2.createElement(DSTextBox, {
|
|
112
|
-
className: "find-word",
|
|
113
|
-
fluidWidth: false,
|
|
114
|
-
id: "replace-textbox",
|
|
115
|
-
onChange: (e) => this.setState({ replaceText: e.currentTarget.value }),
|
|
116
|
-
placeholder: "Replace",
|
|
117
|
-
value: replaceText
|
|
118
|
-
}), /* @__PURE__ */ React2.createElement("div", {
|
|
119
|
-
className: classNameBlock("replace-btns")
|
|
120
|
-
}, /* @__PURE__ */ React2.createElement(DSButton, {
|
|
121
|
-
buttonType: "secondary",
|
|
122
|
-
labelText: "Replace",
|
|
123
|
-
onClick: () => this.searchWord(true, false),
|
|
124
|
-
size: "m"
|
|
125
|
-
}), /* @__PURE__ */ React2.createElement(DSButton, {
|
|
126
|
-
buttonType: "secondary",
|
|
127
|
-
labelText: "Replace All",
|
|
128
|
-
onClick: () => this.searchWord(true, true),
|
|
129
|
-
size: "m"
|
|
130
|
-
}))) : null);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
var DSCodeEditorForm_default = DSCodeEditorForm;
|
|
134
|
-
export {
|
|
135
|
-
DSCodeEditorForm_default as default
|
|
136
|
-
};
|
|
137
|
-
//# sourceMappingURL=DSCodeEditorForm.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/DSCodeEditorForm.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React, { Component } from 'react';\nimport DSButton from '@elliemae/ds-button';\nimport { DSCheckbox, DSTextBox, DSInputGroup } from '@elliemae/ds-form';\nimport { convertPropToCssClassName, aggregatedClasses } from '@elliemae/ds-classnames';\nimport { ChevronSmallLeft, ChevronSmallRight } from '@elliemae/ds-icons';\n\nconst blockName = 'code-editor';\n\nconst { cssClassName, classNameBlock } = convertPropToCssClassName(blockName);\n\nconst CheckOptionsGroup = aggregatedClasses('div')(`${blockName}-options-group`);\n\nclass DSCodeEditorForm extends Component {\n constructor(props) {\n super(props);\n this.state = {\n find: false,\n replace: false,\n isCaseSensitive: false,\n isWholeWord: false,\n filteredText: '',\n replaceText: '',\n };\n }\n\n searchWord(isReplace, all) {\n const {\n reactAceComponent: {\n current: { editor },\n },\n } = this.props;\n const { isCaseSensitive, isWholeWord, filteredText, replaceText } = this.state;\n const options = {\n backwards: false,\n wrap: true,\n caseSensitive: isCaseSensitive,\n wholeWord: isWholeWord,\n regExp: true,\n };\n editor.find(filteredText, options);\n const selectedContent = editor.getSelectedText();\n if (isReplace && replaceText && selectedContent) {\n if (all) {\n editor.findAll(filteredText, options);\n editor.replaceAll(replaceText);\n } else {\n const range = editor.selection.getRange();\n editor.session.replace(range, replaceText);\n }\n }\n }\n\n render() {\n const { fileName } = this.props;\n\n const { find, replace, isCaseSensitive, isWholeWord, filteredText, replaceText } = this.state;\n return (\n <div className={`${cssClassName}`}>\n {fileName ? (\n <div className={classNameBlock('file-name')}>\n File Name: <span> {fileName} </span>\n </div>\n ) : null}\n <div className={classNameBlock('find-replace-btn')}>\n {!find && !replace ? (\n <DSButton buttonType=\"secondary\" labelText=\"Find\" onClick={() => this.setState({ find: true })} size=\"m\" />\n ) : null}\n {!replace ? (\n <DSButton\n buttonType=\"secondary\"\n labelText=\"Find & Replace\"\n onClick={() => this.setState({ replace: true })}\n size=\"m\"\n />\n ) : null}\n </div>\n {find || replace ? (\n <DSInputGroup className={classNameBlock('find')}>\n <DSTextBox\n className=\"find-word\"\n fluidWidth={false}\n id=\"find-textbox\"\n onChange={(e) => this.setState({ filteredText: e.currentTarget.value })}\n placeholder=\"Find\"\n rightComponent={\n <div className={classNameBlock('next-back-btn')}>\n <DSButton icon={<ChevronSmallLeft />} size=\"m\" />\n <DSButton icon={<ChevronSmallRight />} onClick={() => this.searchWord()} size=\"m\" />\n </div>\n }\n value={filteredText}\n />\n <CheckOptionsGroup>\n <DSCheckbox\n checked={isCaseSensitive}\n id=\"case-sensitive-check\"\n labelText=\"Case Sensitive\"\n name=\"case-sensitive-check\"\n onChange={() => this.setState({ isCaseSensitive: !isCaseSensitive })}\n />\n <DSCheckbox\n checked={isWholeWord}\n id=\"whole-word-check\"\n labelText=\"Whole Word\"\n name=\"whole-word-check\"\n onChange={() => this.setState({ isWholeWord: !isWholeWord })}\n />\n <DSCheckbox\n checked={replace}\n id=\"replace-check\"\n labelText=\"Replace\"\n name=\"replace-check\"\n onChange={() => this.setState({ replace: !replace })}\n />\n </CheckOptionsGroup>\n <DSButton\n buttonType=\"secondary\"\n labelText=\"Done\"\n onClick={() => this.setState({ replace: false, find: false })}\n size=\"m\"\n />\n </DSInputGroup>\n ) : null}\n {replace ? (\n <div className={classNameBlock('replace')}>\n <DSTextBox\n className=\"find-word\"\n fluidWidth={false}\n id=\"replace-textbox\"\n onChange={(e) => this.setState({ replaceText: e.currentTarget.value })}\n placeholder=\"Replace\"\n value={replaceText}\n />\n <div className={classNameBlock('replace-btns')}>\n <DSButton\n buttonType=\"secondary\"\n labelText=\"Replace\"\n onClick={() => this.searchWord(true, false)}\n size=\"m\"\n />\n <DSButton\n buttonType=\"secondary\"\n labelText=\"Replace All\"\n onClick={() => this.searchWord(true, true)}\n size=\"m\"\n />\n </div>\n </div>\n ) : null}\n </div>\n );\n }\n}\n\nexport default DSCodeEditorForm;\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|