@worktile/theia 2.1.11 → 2.2.0
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/bundles/worktile-theia.umd.js +538 -310
- package/bundles/worktile-theia.umd.js.map +1 -1
- package/components/element/element.component.d.ts +1 -0
- package/constants/index.d.ts +1 -2
- package/constants/node-types.d.ts +6 -1
- package/custom-types.d.ts +1 -0
- package/editor.module.d.ts +44 -44
- package/esm2015/components/element/element.component.js +11 -4
- package/esm2015/components/text/text.component.js +2 -5
- package/esm2015/constants/index.js +2 -3
- package/esm2015/constants/node-types.js +7 -1
- package/esm2015/custom-types.js +1 -1
- package/esm2015/editor.component.js +1 -1
- package/esm2015/editor.module.js +6 -3
- package/esm2015/interfaces/editor.js +1 -1
- package/esm2015/plugins/common/block-card.plugin.js +2 -2
- package/esm2015/plugins/font-size/font-size.editor.js +2 -2
- package/esm2015/plugins/indent/indent.editor.js +81 -0
- package/esm2015/plugins/indent/indent.plugin.js +24 -3
- package/esm2015/plugins/indent/on-keydown-indent.js +40 -54
- package/esm2015/plugins/indent/options.js +26 -0
- package/esm2015/plugins/indent/toolbar-item.component.js +115 -0
- package/esm2015/plugins/index.js +5 -3
- package/esm2015/plugins/inline-code/inline-code.component.js +2 -2
- package/esm2015/plugins/list/components/bulleted-list.component.js +11 -14
- package/esm2015/plugins/list/components/numbered-list.component.js +12 -15
- package/esm2015/plugins/list/list.editor.js +8 -1
- package/esm2015/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.js +13 -6
- package/esm2015/plugins/todo-item/todo-item.component.js +8 -26
- package/esm2015/plugins/vertical-align/toolbar-item.component.js +3 -3
- package/fesm2015/worktile-theia.js +514 -303
- package/fesm2015/worktile-theia.js.map +1 -1
- package/interfaces/editor.d.ts +1 -1
- package/package.json +1 -1
- package/plugins/indent/indent.editor.d.ts +10 -0
- package/plugins/indent/indent.plugin.d.ts +2 -1
- package/plugins/indent/on-keydown-indent.d.ts +1 -1
- package/plugins/indent/options.d.ts +2 -0
- package/plugins/indent/toolbar-item.component.d.ts +36 -0
- package/plugins/inline-code/inline-code.component.scss +2 -1
- package/plugins/list/components/bulleted-list.component.d.ts +2 -4
- package/plugins/list/components/numbered-list.component.d.ts +2 -4
- package/plugins/quick-insert/components/quick-toolbar/quick-toolbar.component.d.ts +1 -0
- package/plugins/todo-item/todo-item.component.d.ts +2 -3
- package/plugins/todo-item/todo-item.component.scss +0 -3
- package/styles/editor.scss +27 -0
- package/styles/typo.scss +0 -5
|
@@ -100,6 +100,13 @@ export const ListEditor = {
|
|
|
100
100
|
Transforms.setNodes(editor, { type: ElementKinds.paragraph, checked: undefined }, // todo remove checked
|
|
101
101
|
{ at: path });
|
|
102
102
|
}
|
|
103
|
+
else if (Element.isElement(node) && node.type === ElementKinds.paragraph) {
|
|
104
|
+
let { textIndent } = node;
|
|
105
|
+
if (textIndent) {
|
|
106
|
+
Transforms.setNodes(editor, { textIndent: undefined }, // remove textIndent
|
|
107
|
+
{ at: path });
|
|
108
|
+
}
|
|
109
|
+
}
|
|
103
110
|
if (Node.parent(editor, path).type !== ElementKinds.listItem) {
|
|
104
111
|
Transforms.wrapNodes(editor, { type: ElementKinds.listItem, children: [] }, {
|
|
105
112
|
at: path,
|
|
@@ -117,4 +124,4 @@ export const ListEditor = {
|
|
|
117
124
|
return this.buildInsertDataChildren(listItem);
|
|
118
125
|
}
|
|
119
126
|
};
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saXN0L2xpc3QuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RSxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDdEIsTUFBTSxDQUFDLE1BQWMsRUFBRSxPQUFnQixFQUFFLElBQTJEO1FBQ2hHLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUM7SUFDcEUsQ0FBQztJQUNELFVBQVUsQ0FBQyxNQUFjLEVBQUUsSUFBMkQsRUFBRSxVQUFtQjtRQUN2RyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUNuQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2IsVUFBVSxHQUFHLENBQUMsQ0FBQztTQUNsQjtRQUNELE1BQU0sS0FBSyxHQUFHLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFckUsTUFBTSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7WUFDbkMsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVB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QUUsU0FBUyxFQUFTLEVBQUUsc0JBQXNCO2dCQUNuRixFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FDZixDQUFDO2FBQ0w7WUFDRCxJQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBYSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsUUFBUSxFQUFFO2dCQUN2RSxVQUFVLENBQUMsU0FBUyxDQUNoQixNQUFNLEVBQ04sRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQzdDO29CQUNJLEVBQUUsRUFBRSxJQUFJO29CQUNSLEtBQUssRUFBRSxJQUFJO2lCQUNkLENBQ0osQ0FBQzthQUNMO1NBQ0o7SUFDTCxDQUFDO0lBQ0QsdUJBQXVCLENBQUMsSUFBYTtRQUNqQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQzFCLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3QixJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFLLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFhLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxTQUFTLEVBQUU7WUFDMUgsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUVELE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNmb3JtcywgTm9kZSwgRWRpdG9yLCBQYXRoLCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzLCBMSVNUX0JMT0NLX1RZUEVTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL25vZGUtdHlwZXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBpc05vZGVUeXBlTGlzdCB9IGZyb20gJy4vcXVlcmllcy9pcy1ub2RlLXR5cGUtbGlzdCc7XG5cbmV4cG9ydCBjb25zdCBMaXN0RWRpdG9yID0ge1xuICAgIGlzTGlzdChlZGl0b3I6IEVkaXRvciwgZWxlbWVudDogRWxlbWVudCwgdHlwZTogRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdCB8IEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QpIHtcbiAgICAgICAgcmV0dXJuIEVkaXRvci5pc0Jsb2NrKGVkaXRvciwgZWxlbWVudCkgJiYgZWxlbWVudC50eXBlID09PSB0eXBlO1xuICAgIH0sXG4gICAgdG9nZ2xlTGlzdChlZGl0b3I6IEVkaXRvciwgdHlwZTogRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdCB8IEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QsIHN0YXJ0SW5kZXg/OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKCFlZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzdGFydEluZGV4KSB7XG4gICAgICAgICAgICBzdGFydEluZGV4ID0gMTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0eXBlcyA9IFtFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0LCBFbGVtZW50S2luZHMubnVtYmVyZWRMaXN0XTtcblxuICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgWy4uLmxpc3RJdGVtc10gPSBFZGl0b3Iubm9kZXMoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgbWF0Y2g6IG5vZGUgPT4gRWxlbWVudC5pc0VsZW1lbnQobm9kZSkgJiYgbm9kZS50eXBlID09PSBFbGVtZW50S2luZHMubGlzdEl0ZW0sXG4gICAgICAgICAgICAgICAgbW9kZTogJ2xvd2VzdCdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgZmlyc3RMaXN0SXRlbVBhdGggPSBsaXN0SXRlbXMubGVuZ3RoICYmIGxpc3RJdGVtc1swXVsxXTtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUxpc3RQYXRoID0gbGlzdEl0ZW1zLmxlbmd0aCAmJiBQYXRoLnBhcmVudChmaXJzdExpc3RJdGVtUGF0aCk7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmVMaXN0Tm9kZSA9IGxpc3RJdGVtcy5sZW5ndGggJiYgKE5vZGUuZ2V0KGVkaXRvciwgYWN0aXZlTGlzdFBhdGgpIGFzIEVsZW1lbnQpO1xuXG4gICAgICAgICAgICAvLyDlkIznuqfkuJTnsbvlnovnm7jlkIzvvJp1bndyYXBcbiAgICAgICAgICAgIGNvbnN0IGlzTG93ZXN0QWN0aXZlID1cbiAgICAgICAgICAgICAgICBsaXN0SXRlbXMubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgbGlzdEl0ZW1zLmV2ZXJ5KFxuICAgICAgICAgICAgICAgICAgICAoWywgcGF0aF0pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVMaXN0Tm9kZS50eXBlID09PSB0eXBlICYmIChQYXRoLmlzU2libGluZyhmaXJzdExpc3RJdGVtUGF0aCwgcGF0aCkgfHwgUGF0aC5lcXVhbHMoZmlyc3RMaXN0SXRlbVBhdGgsIHBhdGgpKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoaXNMb3dlc3RBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cExpc3RJdGVtID0gUGF0aC5wYXJlbnQoYWN0aXZlTGlzdFBhdGgpO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMudW53cmFwTm9kZXMoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgICAgIGF0OiBlZGl0b3Iuc2VsZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBtYXRjaDogbm9kZSA9PiBub2RlID09PSBhY3RpdmVMaXN0Tm9kZSxcbiAgICAgICAgICAgICAgICAgICAgc3BsaXQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIG1vZGU6ICdsb3dlc3QnXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKHVwTGlzdEl0ZW0gJiYgKE5vZGUuZ2V0KGVkaXRvciwgdXBMaXN0SXRlbSkgYXMgRWxlbWVudCkudHlwZSA9PT0gRWxlbWVudEtpbmRzLmxpc3RJdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMubW92ZU5vZGVzKGVkaXRvciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXQ6IGVkaXRvci5zZWxlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICB0bzogUGF0aC5uZXh0KHVwTGlzdEl0ZW0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2g6IG5vZGUgPT4gRWxlbWVudC5pc0VsZW1lbnQobm9kZSkgJiYgbm9kZS50eXBlID09PSBFbGVtZW50S2luZHMubGlzdEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy51bndyYXBOb2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoOiBub2RlID0+IEVsZW1lbnQuaXNFbGVtZW50KG5vZGUpICYmIG5vZGUudHlwZSA9PT0gRWxlbWVudEtpbmRzLmxpc3RJdGVtXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIOi3qOe6p+OAgeWQjOe6p+S4lOexu+Wei+S4jeWQjFxuICAgICAgICAgICAgaWYgKGFjdGl2ZUxpc3ROb2RlICYmIHR5cGVzLmluY2x1ZGVzKGFjdGl2ZUxpc3ROb2RlLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICB7IHR5cGUgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBtYXRjaDogbm9kZSA9PiBFbGVtZW50LmlzRWxlbWVudChub2RlKSAmJiBub2RlLnR5cGUgIT09IHR5cGUgJiYgdHlwZXMuaW5jbHVkZXMobm9kZS50eXBlKSB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHdyYXBcbiAgICAgICAgICAgIHRoaXMuYnVpbGRMaXN0SXRlbShlZGl0b3IpO1xuICAgICAgICAgICAgLy8gVG9kbzogdHlwZXNcbiAgICAgICAgICAgIFRyYW5zZm9ybXMud3JhcE5vZGVzKGVkaXRvciwgeyB0eXBlLCBjaGlsZHJlbjogW10sIHN0YXJ0OiBzdGFydEluZGV4IH0gYXMgYW55LCB7XG4gICAgICAgICAgICAgICAgYXQ6IGVkaXRvci5zZWxlY3Rpb24sXG4gICAgICAgICAgICAgICAgbWF0Y2g6IG5vZGUgPT4gRWxlbWVudC5pc0VsZW1lbnQobm9kZSkgJiYgbm9kZS50eXBlID09PSBFbGVtZW50S2luZHMubGlzdEl0ZW1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9LFxuICAgIHVud3JhcExpc3QoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgIFRoZVRyYW5zZm9ybXMudW53cmFwTm9kZXNCeVR5cGUoZWRpdG9yLCBbRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdCwgRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdF0sIHsgc3BsaXQ6IHRydWUsIG1vZGU6ICdhbGwnIH0pO1xuICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy51bndyYXBOb2Rlc0J5VHlwZShlZGl0b3IsIFtFbGVtZW50S2luZHMubGlzdEl0ZW1dLCB7IHNwbGl0OiB0cnVlLCBtb2RlOiAnYWxsJyB9KTtcbiAgICAgICAgfSk7XG4gICAgfSxcbiAgICB3cmFwTGlzdChlZGl0b3I6IEVkaXRvciwgdHlwZTogRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdCB8IEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QpIHtcbiAgICAgICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxpc3RJdGVtOiBFbGVtZW50ID0ge1xuICAgICAgICAgICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5saXN0SXRlbSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW11cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBsaXN0ID0ge1xuICAgICAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtdXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy53cmFwTm9kZXMoZWRpdG9yLCBsaXN0LCB7IHNwbGl0OiB0cnVlIH0pO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy53cmFwTm9kZXMoZWRpdG9yLCBsaXN0SXRlbSwgeyBzcGxpdDogdHJ1ZSB9KTtcbiAgICAgICAgfSk7XG4gICAgfSxcbiAgICBpc0FjdGl2ZShlZGl0b3I6IEVkaXRvciwgdHlwZTogRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdCB8IEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QpIHtcbiAgICAgICAgY29uc3QgW21hdGNoXSA9IFRoZVF1ZXJpZXMuZ2V0Tm9kZXNCeVR5cGUoZWRpdG9yLCB0eXBlKTtcbiAgICAgICAgcmV0dXJuICEhbWF0Y2g7XG4gICAgfSxcbiAgICBnZXRBY3RpdmVMaXN0KGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IFttYXRjaF0gPSBUaGVRdWVyaWVzLmdldE5vZGVzQnlUeXBlKGVkaXRvciwgTElTVF9CTE9DS19UWVBFUyk7XG4gICAgICAgIHJldHVybiBtYXRjaDtcbiAgICB9LFxuICAgIGJ1aWxkTGlzdEl0ZW0oZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgY29uc3Qgbm9kZXMgPSBFZGl0b3Iubm9kZXMoZWRpdG9yLCB7XG4gICAgICAgICAgICBtYXRjaDogbm9kZSA9PiBFZGl0b3IuaXNCbG9jayhlZGl0b3IsIG5vZGUpLFxuICAgICAgICAgICAgbW9kZTogJ2xvd2VzdCdcbiAgICAgICAgfSk7XG4gICAgICAgIGZvciAoY29uc3QgW25vZGUsIHBhdGhdIG9mIG5vZGVzKSB7XG4gICAgICAgICAgICBpZiAoIUVkaXRvci5pc1ZvaWQoZWRpdG9yLCBub2RlKSAmJiBFbGVtZW50LmlzRWxlbWVudChub2RlKSAmJiBub2RlLnR5cGUgIT09IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgpIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKFxuICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgIHsgdHlwZTogRWxlbWVudEtpbmRzLnBhcmFncmFwaCwgY2hlY2tlZDogdW5kZWZpbmVkIH0gYXMgYW55LCAvLyB0b2RvIHJlbW92ZSBjaGVja2VkXG4gICAgICAgICAgICAgICAgICAgIHsgYXQ6IHBhdGggfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoKE5vZGUucGFyZW50KGVkaXRvciwgcGF0aCkgYXMgRWxlbWVudCkudHlwZSAhPT0gRWxlbWVudEtpbmRzLmxpc3RJdGVtKSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy53cmFwTm9kZXMoXG4gICAgICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICAgICAgeyB0eXBlOiBFbGVtZW50S2luZHMubGlzdEl0ZW0sIGNoaWxkcmVuOiBbXSB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdDogcGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwbGl0OiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBidWlsZEluc2VydERhdGFDaGlsZHJlbihub2RlOiBFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHsgY2hpbGRyZW4gfSA9IG5vZGU7XG4gICAgICAgIGNvbnN0IGxpc3RJdGVtID0gY2hpbGRyZW5bMF07XG4gICAgICAgIGlmIChpc05vZGVUeXBlTGlzdChub2RlKSAmJiBFbGVtZW50LmlzRWxlbWVudChsaXN0SXRlbSkgJiYgKGxpc3RJdGVtLmNoaWxkcmVuWzBdIGFzIEVsZW1lbnQpLnR5cGUgPT09IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgpIHtcbiAgICAgICAgICAgIHJldHVybiBub2RlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRJbnNlcnREYXRhQ2hpbGRyZW4obGlzdEl0ZW0pO1xuICAgIH1cbn07XG4iXX0=
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5lZGl0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9saXN0L2xpc3QuZWRpdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RSxPQUFPLEtBQUssVUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDdEIsTUFBTSxDQUFDLE1BQWMsRUFBRSxPQUFnQixFQUFFLElBQTJEO1FBQ2hHLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUM7SUFDcEUsQ0FBQztJQUNELFVBQVUsQ0FBQyxNQUFjLEVBQUUsSUFBMkQsRUFBRSxVQUFtQjtRQUN2RyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtZQUNuQixPQUFPO1NBQ1Y7UUFDRCxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2IsVUFBVSxHQUFHLENBQUMsQ0FBQztTQUNsQjtRQUNELE1BQU0sS0FBSyxHQUFHLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFckUsTUFBTSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7WUFDbkMsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVB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LHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNmb3JtcywgTm9kZSwgRWRpdG9yLCBQYXRoLCBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRWxlbWVudEtpbmRzLCBMSVNUX0JMT0NLX1RZUEVTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL25vZGUtdHlwZXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBpc05vZGVUeXBlTGlzdCB9IGZyb20gJy4vcXVlcmllcy9pcy1ub2RlLXR5cGUtbGlzdCc7XG5cbmV4cG9ydCBjb25zdCBMaXN0RWRpdG9yID0ge1xuICAgIGlzTGlzdChlZGl0b3I6IEVkaXRvciwgZWxlbWVudDogRWxlbWVudCwgdHlwZTogRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdCB8IEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QpIHtcbiAgICAgICAgcmV0dXJuIEVkaXRvci5pc0Jsb2NrKGVkaXRvciwgZWxlbWVudCkgJiYgZWxlbWVudC50eXBlID09PSB0eXBlO1xuICAgIH0sXG4gICAgdG9nZ2xlTGlzdChlZGl0b3I6IEVkaXRvciwgdHlwZTogRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdCB8IEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QsIHN0YXJ0SW5kZXg/OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKCFlZGl0b3Iuc2VsZWN0aW9uKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzdGFydEluZGV4KSB7XG4gICAgICAgICAgICBzdGFydEluZGV4ID0gMTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB0eXBlcyA9IFtFbGVtZW50S2luZHMuYnVsbGV0ZWRMaXN0LCBFbGVtZW50S2luZHMubnVtYmVyZWRMaXN0XTtcblxuICAgICAgICBFZGl0b3Iud2l0aG91dE5vcm1hbGl6aW5nKGVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgWy4uLmxpc3RJdGVtc10gPSBFZGl0b3Iubm9kZXMoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgbWF0Y2g6IG5vZGUgPT4gRWxlbWVudC5pc0VsZW1lbnQobm9kZSkgJiYgbm9kZS50eXBlID09PSBFbGVtZW50S2luZHMubGlzdEl0ZW0sXG4gICAgICAgICAgICAgICAgbW9kZTogJ2xvd2VzdCdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgZmlyc3RMaXN0SXRlbVBhdGggPSBsaXN0SXRlbXMubGVuZ3RoICYmIGxpc3RJdGVtc1swXVsxXTtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZUxpc3RQYXRoID0gbGlzdEl0ZW1zLmxlbmd0aCAmJiBQYXRoLnBhcmVudChmaXJzdExpc3RJdGVtUGF0aCk7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmVMaXN0Tm9kZSA9IGxpc3RJdGVtcy5sZW5ndGggJiYgKE5vZGUuZ2V0KGVkaXRvciwgYWN0aXZlTGlzdFBhdGgpIGFzIEVsZW1lbnQpO1xuXG4gICAgICAgICAgICAvLyDlkIznuqfkuJTnsbvlnovnm7jlkIzvvJp1bndyYXBcbiAgICAgICAgICAgIGNvbnN0IGlzTG93ZXN0QWN0aXZlID1cbiAgICAgICAgICAgICAgICBsaXN0SXRlbXMubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgbGlzdEl0ZW1zLmV2ZXJ5KFxuICAgICAgICAgICAgICAgICAgICAoWywgcGF0aF0pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVMaXN0Tm9kZS50eXBlID09PSB0eXBlICYmIChQYXRoLmlzU2libGluZyhmaXJzdExpc3RJdGVtUGF0aCwgcGF0aCkgfHwgUGF0aC5lcXVhbHMoZmlyc3RMaXN0SXRlbVBhdGgsIHBhdGgpKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoaXNMb3dlc3RBY3RpdmUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cExpc3RJdGVtID0gUGF0aC5wYXJlbnQoYWN0aXZlTGlzdFBhdGgpO1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMudW53cmFwTm9kZXMoZWRpdG9yLCB7XG4gICAgICAgICAgICAgICAgICAgIGF0OiBlZGl0b3Iuc2VsZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBtYXRjaDogbm9kZSA9PiBub2RlID09PSBhY3RpdmVMaXN0Tm9kZSxcbiAgICAgICAgICAgICAgICAgICAgc3BsaXQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIG1vZGU6ICdsb3dlc3QnXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKHVwTGlzdEl0ZW0gJiYgKE5vZGUuZ2V0KGVkaXRvciwgdXBMaXN0SXRlbSkgYXMgRWxlbWVudCkudHlwZSA9PT0gRWxlbWVudEtpbmRzLmxpc3RJdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMubW92ZU5vZGVzKGVkaXRvciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXQ6IGVkaXRvci5zZWxlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICB0bzogUGF0aC5uZXh0KHVwTGlzdEl0ZW0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2g6IG5vZGUgPT4gRWxlbWVudC5pc0VsZW1lbnQobm9kZSkgJiYgbm9kZS50eXBlID09PSBFbGVtZW50S2luZHMubGlzdEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy51bndyYXBOb2RlcyhlZGl0b3IsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoOiBub2RlID0+IEVsZW1lbnQuaXNFbGVtZW50KG5vZGUpICYmIG5vZGUudHlwZSA9PT0gRWxlbWVudEtpbmRzLmxpc3RJdGVtXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIOi3qOe6p+OAgeWQjOe6p+S4lOexu+Wei+S4jeWQjFxuICAgICAgICAgICAgaWYgKGFjdGl2ZUxpc3ROb2RlICYmIHR5cGVzLmluY2x1ZGVzKGFjdGl2ZUxpc3ROb2RlLnR5cGUpKSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yLFxuICAgICAgICAgICAgICAgICAgICB7IHR5cGUgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBtYXRjaDogbm9kZSA9PiBFbGVtZW50LmlzRWxlbWVudChub2RlKSAmJiBub2RlLnR5cGUgIT09IHR5cGUgJiYgdHlwZXMuaW5jbHVkZXMobm9kZS50eXBlKSB9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIHdyYXBcbiAgICAgICAgICAgIHRoaXMuYnVpbGRMaXN0SXRlbShlZGl0b3IpO1xuICAgICAgICAgICAgLy8gVG9kbzogdHlwZXNcbiAgICAgICAgICAgIFRyYW5zZm9ybXMud3JhcE5vZGVzKGVkaXRvciwgeyB0eXBlLCBjaGlsZHJlbjogW10sIHN0YXJ0OiBzdGFydEluZGV4IH0gYXMgYW55LCB7XG4gICAgICAgICAgICAgICAgYXQ6IGVkaXRvci5zZWxlY3Rpb24sXG4gICAgICAgICAgICAgICAgbWF0Y2g6IG5vZGUgPT4gRWxlbWVudC5pc0VsZW1lbnQobm9kZSkgJiYgbm9kZS50eXBlID09PSBFbGVtZW50S2luZHMubGlzdEl0ZW1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9LFxuICAgIHVud3JhcExpc3QoZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgIFRoZVRyYW5zZm9ybXMudW53cmFwTm9kZXNCeVR5cGUoZWRpdG9yLCBbRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdCwgRWxlbWVudEtpbmRzLm51bWJlcmVkTGlzdF0sIHsgc3BsaXQ6IHRydWUsIG1vZGU6ICdhbGwnIH0pO1xuICAgICAgICAgICAgVGhlVHJhbnNmb3Jtcy51bndyYXBOb2Rlc0J5VHlwZShlZGl0b3IsIFtFbGVtZW50S2luZHMubGlzdEl0ZW1dLCB7IHNwbGl0OiB0cnVlLCBtb2RlOiAnYWxsJyB9KTtcbiAgICAgICAgfSk7XG4gICAgfSxcbiAgICB3cmFwTGlzdChlZGl0b3I6IEVkaXRvciwgdHlwZTogRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdCB8IEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QpIHtcbiAgICAgICAgRWRpdG9yLndpdGhvdXROb3JtYWxpemluZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxpc3RJdGVtOiBFbGVtZW50ID0ge1xuICAgICAgICAgICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5saXN0SXRlbSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW11cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBsaXN0ID0ge1xuICAgICAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtdXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy53cmFwTm9kZXMoZWRpdG9yLCBsaXN0LCB7IHNwbGl0OiB0cnVlIH0pO1xuICAgICAgICAgICAgVHJhbnNmb3Jtcy53cmFwTm9kZXMoZWRpdG9yLCBsaXN0SXRlbSwgeyBzcGxpdDogdHJ1ZSB9KTtcbiAgICAgICAgfSk7XG4gICAgfSxcbiAgICBpc0FjdGl2ZShlZGl0b3I6IEVkaXRvciwgdHlwZTogRWxlbWVudEtpbmRzLmJ1bGxldGVkTGlzdCB8IEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3QpIHtcbiAgICAgICAgY29uc3QgW21hdGNoXSA9IFRoZVF1ZXJpZXMuZ2V0Tm9kZXNCeVR5cGUoZWRpdG9yLCB0eXBlKTtcbiAgICAgICAgcmV0dXJuICEhbWF0Y2g7XG4gICAgfSxcbiAgICBnZXRBY3RpdmVMaXN0KGVkaXRvcjogRWRpdG9yKSB7XG4gICAgICAgIGNvbnN0IFttYXRjaF0gPSBUaGVRdWVyaWVzLmdldE5vZGVzQnlUeXBlKGVkaXRvciwgTElTVF9CTE9DS19UWVBFUyk7XG4gICAgICAgIHJldHVybiBtYXRjaDtcbiAgICB9LFxuICAgIGJ1aWxkTGlzdEl0ZW0oZWRpdG9yOiBFZGl0b3IpIHtcbiAgICAgICAgY29uc3Qgbm9kZXMgPSBFZGl0b3Iubm9kZXMoZWRpdG9yLCB7XG4gICAgICAgICAgICBtYXRjaDogbm9kZSA9PiBFZGl0b3IuaXNCbG9jayhlZGl0b3IsIG5vZGUpLFxuICAgICAgICAgICAgbW9kZTogJ2xvd2VzdCdcbiAgICAgICAgfSk7XG4gICAgICAgIGZvciAoY29uc3QgW25vZGUsIHBhdGhdIG9mIG5vZGVzKSB7XG4gICAgICAgICAgICBpZiAoIUVkaXRvci5pc1ZvaWQoZWRpdG9yLCBub2RlKSAmJiBFbGVtZW50LmlzRWxlbWVudChub2RlKSAmJiBub2RlLnR5cGUgIT09IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgpIHtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNldE5vZGVzKFxuICAgICAgICAgICAgICAgICAgICBlZGl0b3IsXG4gICAgICAgICAgICAgICAgICAgIHsgdHlwZTogRWxlbWVudEtpbmRzLnBhcmFncmFwaCwgY2hlY2tlZDogdW5kZWZpbmVkIH0gYXMgYW55LCAvLyB0b2RvIHJlbW92ZSBjaGVja2VkXG4gICAgICAgICAgICAgICAgICAgIHsgYXQ6IHBhdGggfVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKEVsZW1lbnQuaXNFbGVtZW50KG5vZGUpICYmIG5vZGUudHlwZSA9PT0gRWxlbWVudEtpbmRzLnBhcmFncmFwaCkge1xuICAgICAgICAgICAgICAgIGxldCB7IHRleHRJbmRlbnQgfSA9IG5vZGU7XG4gICAgICAgICAgICAgICAgaWYgKHRleHRJbmRlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgdGV4dEluZGVudDogdW5kZWZpbmVkIH0sIC8vIHJlbW92ZSB0ZXh0SW5kZW50XG4gICAgICAgICAgICAgICAgICAgICAgICB7IGF0OiBwYXRoIH1cbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoKE5vZGUucGFyZW50KGVkaXRvciwgcGF0aCkgYXMgRWxlbWVudCkudHlwZSAhPT0gRWxlbWVudEtpbmRzLmxpc3RJdGVtKSB7XG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy53cmFwTm9kZXMoXG4gICAgICAgICAgICAgICAgICAgIGVkaXRvcixcbiAgICAgICAgICAgICAgICAgICAgeyB0eXBlOiBFbGVtZW50S2luZHMubGlzdEl0ZW0sIGNoaWxkcmVuOiBbXSB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdDogcGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwbGl0OiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSxcbiAgICBidWlsZEluc2VydERhdGFDaGlsZHJlbihub2RlOiBFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IHsgY2hpbGRyZW4gfSA9IG5vZGU7XG4gICAgICAgIGNvbnN0IGxpc3RJdGVtID0gY2hpbGRyZW5bMF07XG4gICAgICAgIGlmIChpc05vZGVUeXBlTGlzdChub2RlKSAmJiBFbGVtZW50LmlzRWxlbWVudChsaXN0SXRlbSkgJiYgKGxpc3RJdGVtLmNoaWxkcmVuWzBdIGFzIEVsZW1lbnQpLnR5cGUgPT09IEVsZW1lbnRLaW5kcy5wYXJhZ3JhcGgpIHtcbiAgICAgICAgICAgIHJldHVybiBub2RlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRJbnNlcnREYXRhQ2hpbGRyZW4obGlzdEl0ZW0pO1xuICAgIH1cbn07XG4iXX0=
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Component, Input, HostListener } from '@angular/core';
|
|
2
2
|
import { mixinUnsubscribe, MixinBase } from 'ngx-tethys/core';
|
|
3
|
-
import { Editor,
|
|
3
|
+
import { Editor, Node } from 'slate';
|
|
4
4
|
import { AngularEditor } from 'slate-angular';
|
|
5
5
|
import { ToolbarActionTypes } from '../../../../constants/node-types';
|
|
6
6
|
import { QUICK_TOOLBAR_HOTKEY, ToolbarItemMode } from '../../../../constants/toolbar';
|
|
7
|
+
import { QuickInsertEditor } from '../../quick-insert.editor';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "ngx-tethys/popover";
|
|
9
10
|
import * as i2 from "ngx-tethys/list";
|
|
@@ -21,14 +22,17 @@ export class TheQuickToolbarComponent extends mixinUnsubscribe(MixinBase) {
|
|
|
21
22
|
}
|
|
22
23
|
handleMouseDown(event) {
|
|
23
24
|
if (!this.elementRef.nativeElement.contains(event.target)) {
|
|
24
|
-
this.
|
|
25
|
+
QuickInsertEditor.closeQuickToolbar(this.editor);
|
|
25
26
|
}
|
|
26
27
|
else {
|
|
27
28
|
event.preventDefault();
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
31
|
handleEnter() {
|
|
31
|
-
this.
|
|
32
|
+
QuickInsertEditor.closeQuickToolbar(this.editor);
|
|
33
|
+
}
|
|
34
|
+
handleEsc() {
|
|
35
|
+
QuickInsertEditor.closeQuickToolbar(this.editor);
|
|
32
36
|
}
|
|
33
37
|
ngOnInit() {
|
|
34
38
|
this.editorElement = AngularEditor.toDOMNode(this.editor, this.editor);
|
|
@@ -45,7 +49,7 @@ export class TheQuickToolbarComponent extends mixinUnsubscribe(MixinBase) {
|
|
|
45
49
|
}
|
|
46
50
|
removeHotKey() {
|
|
47
51
|
const node = Node.get(this.editor, this.editor.selection.anchor.path);
|
|
48
|
-
if (node &&
|
|
52
|
+
if (node && QUICK_TOOLBAR_HOTKEY === node.text) {
|
|
49
53
|
Editor.deleteBackward(this.editor);
|
|
50
54
|
}
|
|
51
55
|
}
|
|
@@ -54,7 +58,7 @@ export class TheQuickToolbarComponent extends mixinUnsubscribe(MixinBase) {
|
|
|
54
58
|
}
|
|
55
59
|
}
|
|
56
60
|
TheQuickToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheQuickToolbarComponent, deps: [{ token: i1.ThyPopoverRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
57
|
-
TheQuickToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheQuickToolbarComponent, selector: "the-quick-toolbar", inputs: { editor: "editor", quickToolbarItems: "quickToolbarItems" }, host: { listeners: { "document: mousedown": "handleMouseDown($event)", "document: keydown.enter": "handleEnter()" } }, usesInheritance: true, ngImport: i0, template: "<thy-selection-list\n class=\"the-quick-toolbar\"\n [thyBindKeyEventContainer]=\"editorElement\"\n (thySelectionChange)=\"selectionChange($event)\"\n [thyMultiple]=\"false\"\n>\n <ng-container *ngFor=\"let item of quickToolbarItems\">\n <ng-container *ngIf=\"item.key !== ToolbarActionTypes.split; else splitLine\">\n <thy-list-option [thyValue]=\"item?.key\" (mousedown)=\"stopPropagation($event)\">\n <the-toolbar-item [editor]=\"editor\" [item]=\"item\" [itemMode]=\"ToolbarItemMode.vertical\"></the-toolbar-item>\n </thy-list-option>\n </ng-container>\n </ng-container>\n</thy-selection-list>\n\n<ng-template #splitLine>\n <nav-split-line [mode]=\"ToolbarItemMode.horizontal\"></nav-split-line>\n</ng-template>\n", components: [{ type: i2.ThySelectionListComponent, selector: "thy-selection-list,[thy-selection-list]", inputs: ["thyMultiple", "thyBindKeyEventContainer", "thyScrollContainer", "thyBeforeKeydown", "thyUniqueKey", "thyCompareWith", "thyLayout", "thyAutoActiveFirstItem", "thySize", "thySpaceKeyEnabled"], outputs: ["thySelectionChange"] }, { type: i3.ThyListOptionComponent, selector: "thy-list-option,[thy-list-option]", inputs: ["id", "thyValue", "thyDisabled"] }, { type: i4.TheToolbarItemComponent, selector: "the-toolbar-item", inputs: ["item", "editor", "itemMode"] }, { type: i5.NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
61
|
+
TheQuickToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheQuickToolbarComponent, selector: "the-quick-toolbar", inputs: { editor: "editor", quickToolbarItems: "quickToolbarItems" }, host: { listeners: { "document: mousedown": "handleMouseDown($event)", "document: keydown.enter": "handleEnter()", "document: keydown.escape": "handleEsc()" } }, usesInheritance: true, ngImport: i0, template: "<thy-selection-list\n class=\"the-quick-toolbar\"\n [thyBindKeyEventContainer]=\"editorElement\"\n (thySelectionChange)=\"selectionChange($event)\"\n [thyMultiple]=\"false\"\n>\n <ng-container *ngFor=\"let item of quickToolbarItems\">\n <ng-container *ngIf=\"item.key !== ToolbarActionTypes.split; else splitLine\">\n <thy-list-option [thyValue]=\"item?.key\" (mousedown)=\"stopPropagation($event)\">\n <the-toolbar-item [editor]=\"editor\" [item]=\"item\" [itemMode]=\"ToolbarItemMode.vertical\"></the-toolbar-item>\n </thy-list-option>\n </ng-container>\n </ng-container>\n</thy-selection-list>\n\n<ng-template #splitLine>\n <nav-split-line [mode]=\"ToolbarItemMode.horizontal\"></nav-split-line>\n</ng-template>\n", components: [{ type: i2.ThySelectionListComponent, selector: "thy-selection-list,[thy-selection-list]", inputs: ["thyMultiple", "thyBindKeyEventContainer", "thyScrollContainer", "thyBeforeKeydown", "thyUniqueKey", "thyCompareWith", "thyLayout", "thyAutoActiveFirstItem", "thySize", "thySpaceKeyEnabled"], outputs: ["thySelectionChange"] }, { type: i3.ThyListOptionComponent, selector: "thy-list-option,[thy-list-option]", inputs: ["id", "thyValue", "thyDisabled"] }, { type: i4.TheToolbarItemComponent, selector: "the-toolbar-item", inputs: ["item", "editor", "itemMode"] }, { type: i5.NavSplitLineComponent, selector: "nav-split-line", inputs: ["mode"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
58
62
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheQuickToolbarComponent, decorators: [{
|
|
59
63
|
type: Component,
|
|
60
64
|
args: [{
|
|
@@ -71,5 +75,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
71
75
|
}], handleEnter: [{
|
|
72
76
|
type: HostListener,
|
|
73
77
|
args: ['document: keydown.enter']
|
|
78
|
+
}], handleEsc: [{
|
|
79
|
+
type: HostListener,
|
|
80
|
+
args: ['document: keydown.escape']
|
|
74
81
|
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpY2stdG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy9xdWljay1pbnNlcnQvY29tcG9uZW50cy9xdWljay10b29sYmFyL3F1aWNrLXRvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvcXVpY2staW5zZXJ0L2NvbXBvbmVudHMvcXVpY2stdG9vbGJhci9xdWljay10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFlBQVksRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTlELE9BQU8sRUFBRSxNQUFNLEVBQVEsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztBQU05RCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsZ0JBQWdCLENBQUMsU0FBUyxDQUFDO0lBMkJyRSxZQUFvQixVQUFtRCxFQUFTLFVBQXNCO1FBQ2xHLEtBQUssRUFBRSxDQUFDO1FBRFEsZUFBVSxHQUFWLFVBQVUsQ0FBeUM7UUFBUyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBdEJ0RyxvQkFBZSxHQUFHLGVBQWUsQ0FBQztRQUNsQyx1QkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztJQXVCeEMsQ0FBQztJQXBCRCxlQUFlLENBQUMsS0FBaUI7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBcUIsQ0FBQyxFQUFFO1lBQ3RFLGlCQUFpQixDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNwRDthQUFNO1lBQ0gsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUdELFdBQVc7UUFDUCxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUdELFNBQVM7UUFDTCxpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQU1ELFFBQVE7UUFDSixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFLO1FBQ2pCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQUs7UUFDakIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRixJQUFJLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxPQUFPLEVBQUU7WUFDdEIsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDcEM7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNSLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFTLENBQUM7UUFDOUUsSUFBSSxJQUFJLElBQUksb0JBQW9CLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRTtZQUM1QyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0QztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7O3NIQXhEUSx3QkFBd0I7MEdBQXhCLHdCQUF3Qix3VENkckMsc3hCQWtCQTs0RkRKYSx3QkFBd0I7a0JBSnBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsV0FBVyxFQUFFLDhCQUE4QjtpQkFDOUM7NkhBRVksTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFPTixlQUFlO3NCQURkLFlBQVk7dUJBQUMscUJBQXFCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVS9DLFdBQVc7c0JBRFYsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBTXZDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIEhvc3RMaXN0ZW5lciwgT25EZXN0cm95LCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtaXhpblVuc3Vic2NyaWJlLCBNaXhpbkJhc2UgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlclJlZiB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBFZGl0b3IsIFRleHQsIE5vZGUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBUb29sYmFySXRlbSB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvdG9vbGJhcic7XG5pbXBvcnQgeyBUb29sYmFyQWN0aW9uVHlwZXMgfSBmcm9tICcuLi8uLi8uLi8uLi9jb25zdGFudHMvbm9kZS10eXBlcyc7XG5pbXBvcnQgeyBRVUlDS19UT09MQkFSX0hPVEtFWSwgVG9vbGJhckl0ZW1Nb2RlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29uc3RhbnRzL3Rvb2xiYXInO1xuaW1wb3J0IHsgUXVpY2tJbnNlcnRFZGl0b3IgfSBmcm9tICcuLi8uLi9xdWljay1pbnNlcnQuZWRpdG9yJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aGUtcXVpY2stdG9vbGJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICdxdWljay10b29sYmFyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUaGVRdWlja1Rvb2xiYXJDb21wb25lbnQgZXh0ZW5kcyBtaXhpblVuc3Vic2NyaWJlKE1peGluQmFzZSkgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgZWRpdG9yOiBFZGl0b3I7XG4gICAgQElucHV0KCkgcXVpY2tUb29sYmFySXRlbXM6IFRvb2xiYXJJdGVtW107XG5cbiAgICBlZGl0b3JFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgICBUb29sYmFySXRlbU1vZGUgPSBUb29sYmFySXRlbU1vZGU7XG4gICAgVG9vbGJhckFjdGlvblR5cGVzID0gVG9vbGJhckFjdGlvblR5cGVzO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6IG1vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gICAgaGFuZGxlTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSkge1xuICAgICAgICAgICAgUXVpY2tJbnNlcnRFZGl0b3IuY2xvc2VRdWlja1Rvb2xiYXIodGhpcy5lZGl0b3IpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OiBrZXlkb3duLmVudGVyJylcbiAgICBoYW5kbGVFbnRlcigpIHtcbiAgICAgICAgUXVpY2tJbnNlcnRFZGl0b3IuY2xvc2VRdWlja1Rvb2xiYXIodGhpcy5lZGl0b3IpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OiBrZXlkb3duLmVzY2FwZScpXG4gICAgaGFuZGxlRXNjKCkge1xuICAgICAgICBRdWlja0luc2VydEVkaXRvci5jbG9zZVF1aWNrVG9vbGJhcih0aGlzLmVkaXRvcik7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3BvdmVyUmVmOiBUaHlQb3BvdmVyUmVmPFRoZVF1aWNrVG9vbGJhckNvbXBvbmVudD4sIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZWRpdG9yRWxlbWVudCA9IEFuZ3VsYXJFZGl0b3IudG9ET01Ob2RlKHRoaXMuZWRpdG9yLCB0aGlzLmVkaXRvcik7XG4gICAgfVxuXG4gICAgc3RvcFByb3BhZ2F0aW9uKGV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgc2VsZWN0aW9uQ2hhbmdlKGV2ZW50KSB7XG4gICAgICAgIHRoaXMucmVtb3ZlSG90S2V5KCk7XG4gICAgICAgIGNvbnN0IHRvb2xiYXJJdGVtID0gdGhpcy5xdWlja1Rvb2xiYXJJdGVtcy5maW5kKGl0ZW0gPT4gaXRlbS5rZXkgPT09IGV2ZW50LnZhbHVlKTtcbiAgICAgICAgaWYgKHRvb2xiYXJJdGVtPy5leGVjdXRlKSB7XG4gICAgICAgICAgICB0b29sYmFySXRlbS5leGVjdXRlKHRoaXMuZWRpdG9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZUhvdEtleSgpIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IE5vZGUuZ2V0KHRoaXMuZWRpdG9yLCB0aGlzLmVkaXRvci5zZWxlY3Rpb24uYW5jaG9yLnBhdGgpIGFzIFRleHQ7XG4gICAgICAgIGlmIChub2RlICYmIFFVSUNLX1RPT0xCQVJfSE9US0VZID09PSBub2RlLnRleHQpIHtcbiAgICAgICAgICAgIEVkaXRvci5kZWxldGVCYWNrd2FyZCh0aGlzLmVkaXRvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG59XG4iLCI8dGh5LXNlbGVjdGlvbi1saXN0XG4gICAgY2xhc3M9XCJ0aGUtcXVpY2stdG9vbGJhclwiXG4gICAgW3RoeUJpbmRLZXlFdmVudENvbnRhaW5lcl09XCJlZGl0b3JFbGVtZW50XCJcbiAgICAodGh5U2VsZWN0aW9uQ2hhbmdlKT1cInNlbGVjdGlvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICBbdGh5TXVsdGlwbGVdPVwiZmFsc2VcIlxuPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcXVpY2tUb29sYmFySXRlbXNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0ua2V5ICE9PSBUb29sYmFyQWN0aW9uVHlwZXMuc3BsaXQ7IGVsc2Ugc3BsaXRMaW5lXCI+XG4gICAgICAgICAgICA8dGh5LWxpc3Qtb3B0aW9uIFt0aHlWYWx1ZV09XCJpdGVtPy5rZXlcIiAobW91c2Vkb3duKT1cInN0b3BQcm9wYWdhdGlvbigkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgPHRoZS10b29sYmFyLWl0ZW0gW2VkaXRvcl09XCJlZGl0b3JcIiBbaXRlbV09XCJpdGVtXCIgW2l0ZW1Nb2RlXT1cIlRvb2xiYXJJdGVtTW9kZS52ZXJ0aWNhbFwiPjwvdGhlLXRvb2xiYXItaXRlbT5cbiAgICAgICAgICAgIDwvdGh5LWxpc3Qtb3B0aW9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvdGh5LXNlbGVjdGlvbi1saXN0PlxuXG48bmctdGVtcGxhdGUgI3NwbGl0TGluZT5cbiAgICA8bmF2LXNwbGl0LWxpbmUgW21vZGVdPVwiVG9vbGJhckl0ZW1Nb2RlLmhvcml6b250YWxcIj48L25hdi1zcGxpdC1saW5lPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Component, HostBinding } from '@angular/core';
|
|
2
2
|
import * as TheTransforms from '../../transforms';
|
|
3
3
|
import { TheBaseElementComponent } from '../../interfaces';
|
|
4
|
-
import { getElementClassByPrefix } from '../../utils/dom';
|
|
5
4
|
import * as i0 from "@angular/core";
|
|
6
5
|
import * as i1 from "slate-angular";
|
|
7
6
|
export class TheTodoItemComponent extends TheBaseElementComponent {
|
|
@@ -11,15 +10,12 @@ export class TheTodoItemComponent extends TheBaseElementComponent {
|
|
|
11
10
|
this.cdr = cdr;
|
|
12
11
|
this.checkItemClass = true;
|
|
13
12
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
this.useIndentClass(this.elementRef.nativeElement, this.element);
|
|
18
|
-
}
|
|
13
|
+
get level() {
|
|
14
|
+
var _a;
|
|
15
|
+
return (_a = this.element) === null || _a === void 0 ? void 0 : _a.indent;
|
|
19
16
|
}
|
|
20
17
|
ngOnInit() {
|
|
21
18
|
super.ngOnInit();
|
|
22
|
-
this.useIndentClass(this.elementRef.nativeElement, this.element);
|
|
23
19
|
}
|
|
24
20
|
onCheck(checked) {
|
|
25
21
|
if (this.readonly) {
|
|
@@ -27,26 +23,9 @@ export class TheTodoItemComponent extends TheBaseElementComponent {
|
|
|
27
23
|
}
|
|
28
24
|
TheTransforms.setNode(this.editor, { checked }, this.element);
|
|
29
25
|
}
|
|
30
|
-
useIndentClass(el, element) {
|
|
31
|
-
const prefix = 'indent';
|
|
32
|
-
if (element.textIndent) {
|
|
33
|
-
const oldClass = getElementClassByPrefix(el, prefix);
|
|
34
|
-
if (oldClass) {
|
|
35
|
-
el.classList.remove(oldClass);
|
|
36
|
-
}
|
|
37
|
-
const newClassName = `${prefix}-${element.textIndent}`;
|
|
38
|
-
el.classList.add(newClassName);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
const oldClass = getElementClassByPrefix(el, prefix);
|
|
42
|
-
if (oldClass) {
|
|
43
|
-
el.classList.remove(oldClass);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
26
|
}
|
|
48
27
|
TheTodoItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheTodoItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
-
TheTodoItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheTodoItemComponent, selector: "div[theTodoItem]", host: { properties: { "class.the-check-item": "this.checkItemClass" } }, usesInheritance: true, ngImport: i0, template: `
|
|
28
|
+
TheTodoItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheTodoItemComponent, selector: "div[theTodoItem]", host: { properties: { "class.the-check-item": "this.checkItemClass", "attr.the-level": "this.level" } }, usesInheritance: true, ngImport: i0, template: `
|
|
50
29
|
<span contenteditable="false" class="todo-item-status">
|
|
51
30
|
<input #checkbox type="checkbox" [checked]="element.checked" (click)="onCheck(checkbox.checked)" />
|
|
52
31
|
</span>
|
|
@@ -66,5 +45,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
66
45
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { checkItemClass: [{
|
|
67
46
|
type: HostBinding,
|
|
68
47
|
args: ['class.the-check-item']
|
|
48
|
+
}], level: [{
|
|
49
|
+
type: HostBinding,
|
|
50
|
+
args: ['attr.the-level']
|
|
69
51
|
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9kby1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3RvZG8taXRlbS90b2RvLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsV0FBVyxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEtBQUssYUFBYSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7QUFZM0QsTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUFnRDtJQVV0RixZQUFtQixVQUFzQixFQUFTLEdBQXNCO1FBQ3BFLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEUixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFQbkMsbUJBQWMsR0FBRyxJQUFJLENBQUM7SUFTM0QsQ0FBQztJQVBELElBQ0ksS0FBSzs7UUFDTCxPQUFPLE1BQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFNRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBZ0I7UUFDcEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2YsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEUsQ0FBQzs7a0hBdkJRLG9CQUFvQjtzR0FBcEIsb0JBQW9CLHdMQVBuQjs7Ozs7S0FLVDs0RkFFUSxvQkFBb0I7a0JBVGhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFOzs7OztLQUtUO2lCQUNKO2lJQUl3QyxjQUFjO3NCQUFsRCxXQUFXO3VCQUFDLHNCQUFzQjtnQkFHL0IsS0FBSztzQkFEUixXQUFXO3VCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIENoYW5nZURldGVjdG9yUmVmLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCAqIGFzIFRoZVRyYW5zZm9ybXMgZnJvbSAnLi4vLi4vdHJhbnNmb3Jtcyc7XG5pbXBvcnQgeyBUaGVCYXNlRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVG9kb0l0ZW1FbGVtZW50IH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkaXZbdGhlVG9kb0l0ZW1dJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8c3BhbiBjb250ZW50ZWRpdGFibGU9XCJmYWxzZVwiIGNsYXNzPVwidG9kby1pdGVtLXN0YXR1c1wiPlxuICAgICAgICAgICAgPGlucHV0ICNjaGVja2JveCB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJlbGVtZW50LmNoZWNrZWRcIiAoY2xpY2spPVwib25DaGVjayhjaGVja2JveC5jaGVja2VkKVwiIC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNsYXRlLWNoaWxkcmVuIFtjaGlsZHJlbl09XCJjaGlsZHJlblwiIFtjb250ZXh0XT1cImNoaWxkcmVuQ29udGV4dFwiIFt2aWV3Q29udGV4dF09XCJ2aWV3Q29udGV4dFwiPjwvc2xhdGUtY2hpbGRyZW4+XG4gICAgYFxufSlcbmV4cG9ydCBjbGFzcyBUaGVUb2RvSXRlbUNvbXBvbmVudCBleHRlbmRzIFRoZUJhc2VFbGVtZW50Q29tcG9uZW50PFRvZG9JdGVtRWxlbWVudCwgRWRpdG9yPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgY2hlY2tlZDogYm9vbGVhbjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGhlLWNoZWNrLWl0ZW0nKSBjaGVja0l0ZW1DbGFzcyA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGhlLWxldmVsJylcbiAgICBnZXQgbGV2ZWwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnQ/LmluZGVudDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICB9XG5cbiAgICBvbkNoZWNrKGNoZWNrZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBUaGVUcmFuc2Zvcm1zLnNldE5vZGUodGhpcy5lZGl0b3IsIHsgY2hlY2tlZCB9LCB0aGlzLmVsZW1lbnQpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -41,7 +41,7 @@ export class TheVerticalToolbarItemComponent extends TheToolbarBaseItemComponent
|
|
|
41
41
|
execute(event) {
|
|
42
42
|
var _a, _b;
|
|
43
43
|
super.execute(event);
|
|
44
|
-
if (
|
|
44
|
+
if (((_a = this.editor) === null || _a === void 0 ? void 0 : _a.readOnly) || ((_b = this.editor) === null || _b === void 0 ? void 0 : _b.disabled)) {
|
|
45
45
|
return;
|
|
46
46
|
}
|
|
47
47
|
this.openPopover();
|
|
@@ -74,7 +74,7 @@ export class TheVerticalToolbarItemComponent extends TheToolbarBaseItemComponent
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
TheVerticalToolbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheVerticalToolbarItemComponent, deps: [{ token: i0.ElementRef }, { token: i1.ThyPopover }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
77
|
-
TheVerticalToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheVerticalToolbarItemComponent, selector: "the-toolbar-vertical-align-item", inputs: { item: "item", menus: "menus", editor: "editor", toolbarItem: "toolbarItem" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)" }, properties: { "class.hide": "!active" }, classAttribute: "the-toolbar-dropdown-container verticalAlign" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["VerticalAlignItems"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<a\n thyIconNavLink\n class=\"icon-mode link-with-down\"\n [thyTooltip]=\"toolbarItem?.name\"\n [thyIconNavLinkActive]=\"isOpened\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"execute($event)\"\n>\n <thy-icon [thyIconName]=\"activeMenu?.icon\"></thy-icon>\n <thy-icon class=\"caret-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n</a>\n\n<ng-template #VerticalAlignItems>\n <thy-action-menu class=\"dropdown\">\n <ng-container *ngFor=\"let menu of toolbarItem?.includes\">\n <a\n thyActionMenuItem\n href=\"javascript:;\"\n [thyActionMenuItemActive]=\"menu.key === activeMenu?.key\"\n
|
|
77
|
+
TheVerticalToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: TheVerticalToolbarItemComponent, selector: "the-toolbar-vertical-align-item", inputs: { item: "item", menus: "menus", editor: "editor", toolbarItem: "toolbarItem" }, host: { listeners: { "document: mousedown": "handleDocumentMouseDown($event)" }, properties: { "class.hide": "!active" }, classAttribute: "the-toolbar-dropdown-container verticalAlign" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["VerticalAlignItems"], descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: "<a\n thyIconNavLink\n class=\"icon-mode link-with-down\"\n [thyTooltip]=\"toolbarItem?.name\"\n [thyIconNavLinkActive]=\"isOpened\"\n thyTooltipPlacement=\"top\"\n (mousedown)=\"execute($event)\"\n>\n <thy-icon [thyIconName]=\"activeMenu?.icon\"></thy-icon>\n <thy-icon class=\"caret-down-icon font-size-sm text-desc\" thyIconName=\"caret-down\"></thy-icon>\n</a>\n\n<ng-template #VerticalAlignItems>\n <thy-action-menu class=\"dropdown\">\n <ng-container *ngFor=\"let menu of toolbarItem?.includes\">\n <a\n thyActionMenuItem\n href=\"javascript:;\"\n [thyActionMenuItemActive]=\"menu.key === activeMenu?.key\"\n (mousedown)=\"itemMousedown($event, menu)\"\n >\n <span *ngIf=\"menu.icon\" thyActionMenuItemIcon>\n <thy-icon [thyIconName]=\"menu?.icon\"></thy-icon>\n </span>\n <span thyActionMenuItemName>{{ menu.name }}</span>\n </a>\n </ng-container>\n </thy-action-menu>\n</ng-template>\n", components: [{ type: i2.ThyIconNavLinkComponent, selector: "[thyIconNavLink]", inputs: ["thyIconNavLinkIcon", "thyIconNavLinkActive"] }, { type: i3.ThyIconComponent, selector: "thy-icon", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { type: i4.ThyActionMenuComponent, selector: "thy-action-menu", inputs: ["thyTheme", "thyWidth"] }], directives: [{ type: i5.ThyTooltipDirective, selector: "[thyTooltip],[thy-tooltip]", inputs: ["thyTooltip", "thyTooltipPlacement", "thyTooltipClass", "thyTooltipShowDelay", "thyTooltipHideDelay", "thyTooltipTrigger", "thyTooltipDisabled", "thyTooltipTemplateContext", "thyTooltipOffset", "thyTooltipPin"], exportAs: ["thyTooltip"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.ThyActionMenuItemDirective, selector: "[thyActionMenuItem]", inputs: ["thyDisabled", "thyType"] }, { type: i4.ThyActionMenuItemActiveDirective, selector: "[thyActionMenuItemActive]", inputs: ["thyActionMenuItemActive"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.ThyActionMenuItemIconDirective, selector: "[thyActionMenuItemIcon]" }, { type: i4.ThyActionMenuItemNameDirective, selector: "[thyActionMenuItemName]" }] });
|
|
78
78
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TheVerticalToolbarItemComponent, decorators: [{
|
|
79
79
|
type: Component,
|
|
80
80
|
args: [{
|
|
@@ -100,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
100
100
|
type: HostListener,
|
|
101
101
|
args: ['document: mousedown', ['$event']]
|
|
102
102
|
}] } });
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy9wbHVnaW5zL3ZlcnRpY2FsLWFsaWduL3Rvb2xiYXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcGx1Z2lucy92ZXJ0aWNhbC1hbGlnbi90b29sYmFyLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFVLFdBQVcsRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRzdILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDOzs7Ozs7OztBQVk3RyxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsMkJBQTJCO0lBNEI1RSxZQUFtQixVQUFzQixFQUFVLFVBQXNCLEVBQVUsZ0JBQWtDO1FBQ2pILEtBQUssRUFBRSxDQUFDO1FBRE8sZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBM0JySCxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsV0FBTSxHQUFxQixLQUFLLENBQUM7SUE0QmpDLENBQUM7SUFiRCxJQUFJLFFBQVE7UUFDUixPQUFPLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZJLENBQUM7SUFHRCx1QkFBdUIsQ0FBQyxLQUFpQjtRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFxQixDQUFDLEVBQUU7WUFDdEUsSUFBSSxD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S0FBSztnQkFHTixRQUFRO3NCQURQLFNBQVM7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBUXBFLHVCQUF1QjtzQkFEdEIsWUFBWTt1QkFBQyxxQkFBcUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyLCBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cyc7XG5pbXBvcnQgeyBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBUaGVUb29sYmFyQmFzZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3Rvb2xiYXItYmFzZS1pdGVtL3Rvb2xiYXItYmFzZS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDdXN0b21FZGl0b3IgfSBmcm9tICcuLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHsgRGVmYXVsdFRvb2xiYXJJdGVtLCBUb29sYmFySXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoZS10b29sYmFyLXZlcnRpY2FsLWFsaWduLWl0ZW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b29sYmFyLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aGUtdG9vbGJhci1kcm9wZG93bi1jb250YWluZXIgdmVydGljYWxBbGlnbicsXG4gICAgICAgICdbY2xhc3MuaGlkZV0nOiAnIWFjdGl2ZSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFRoZVZlcnRpY2FsVG9vbGJhckl0ZW1Db21wb25lbnQgZXh0ZW5kcyBUaGVUb29sYmFyQmFzZUl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGlzSGlkZSA9IHRydWU7XG4gICAgYWN0aXZlOiBib29sZWFuIHwgc3RyaW5nID0gZmFsc2U7XG4gICAgYWN0aXZlTWVudTogVG9vbGJhckl0ZW07XG4gICAgZHJvcGRvd25Qb3BvdmVyUmVmOiBUaHlQb3BvdmVyUmVmPGFueT47XG5cbiAgICBASW5wdXQoKSBpdGVtOiBEZWZhdWx0VG9vbGJhckl0ZW07XG5cbiAgICBASW5wdXQoKSBtZW51czogRGVmYXVsdFRvb2xiYXJJdGVtW107XG5cbiAgICBASW5wdXQoKSBlZGl0b3I6IEN1c3RvbUVkaXRvcjtcblxuICAgIEBJbnB1dCgpIHRvb2xiYXJJdGVtOiBUb29sYmFySXRlbTtcblxuICAgIEBWaWV3Q2hpbGQoJ1ZlcnRpY2FsQWxpZ25JdGVtcycsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxuICAgIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgZ2V0IGlzT3BlbmVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5kcm9wZG93blBvcG92ZXJSZWYgJiYgdGhpcy5kcm9wZG93blBvcG92ZXJSZWYuZ2V0T3ZlcmxheVJlZigpICYmIHRoaXMuZHJvcGRvd25Qb3BvdmVyUmVmLmdldE92ZXJsYXlSZWYoKS5oYXNBdHRhY2hlZCgpO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OiBtb3VzZWRvd24nLCBbJyRldmVudCddKVxuICAgIGhhbmRsZURvY3VtZW50TW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KSkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgdGh5UG9wb3ZlcjogVGh5UG9wb3ZlciwgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gICAgcHVibGljIHN0YXR1c0NoYW5nZShlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICB0aGlzLmFjdGl2ZSA9IHRoaXMudG9vbGJhckl0ZW0/LmFjdGl2ZSA/IHRoaXMudG9vbGJhckl0ZW0/LmFjdGl2ZShlZGl0b3IpIDogZmFsc2U7XG4gICAgICAgIHRoaXMuYWN0aXZlTWVudSA9IHRoaXMubWVudXNBY3RpdmUoZWRpdG9yKTtcbiAgICB9XG5cbiAgICBtZW51c0FjdGl2ZShlZGl0b3I6IEVkaXRvcikge1xuICAgICAgICByZXR1cm4gdGhpcy5tZW51cy5maW5kKGkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZWRpdG9yPy5zZWxlY3Rpb24gJiYgaT8uYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGk/LmFjdGl2ZShlZGl0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBleGVjdXRlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIHN1cGVyLmV4ZWN1dGUoZXZlbnQpO1xuICAgICAgICBpZiAodGhpcy5lZGl0b3I/LnJlYWRPbmx5IHx8IHRoaXMuZWRpdG9yPy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub3BlblBvcG92ZXIoKTtcbiAgICB9XG5cbiAgICBpdGVtTW91c2Vkb3duKGV2ZW50OiBNb3VzZUV2ZW50LCBpdGVtOiBUb29sYmFySXRlbSkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICB0aGlzLmNsb3NlKCk7XG5cbiAgICAgICAgaWYgKGl0ZW0/LmV4ZWN1dGUpIHtcbiAgICAgICAgICAgIGl0ZW0/LmV4ZWN1dGUodGhpcy5lZGl0b3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlblBvcG92ZXIoKSB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25Qb3BvdmVyUmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4odGhpcy50ZW1wbGF0ZSwge1xuICAgICAgICAgICAgb3JpZ2luOiB0aGlzLmVsZW1lbnRSZWYsXG4gICAgICAgICAgICBwYW5lbENsYXNzOiBbJ3RoZS10b29sYmFyLWRyb3Bkb3duLXBvcG92ZXInLCB0aGlzLnRvb2xiYXJJdGVtPy5rZXldLFxuICAgICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tTGVmdCcsXG4gICAgICAgICAgICBvZmZzZXQ6IDEwLFxuICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZjogdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgYmFja2Ryb3BDbG9zYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2VcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIGlmICh0aGlzLmRyb3Bkb3duUG9wb3ZlclJlZikge1xuICAgICAgICAgICAgdGhpcy5kcm9wZG93blBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxhXG4gICAgdGh5SWNvbk5hdkxpbmtcbiAgICBjbGFzcz1cImljb24tbW9kZSBsaW5rLXdpdGgtZG93blwiXG4gICAgW3RoeVRvb2x0aXBdPVwidG9vbGJhckl0ZW0/Lm5hbWVcIlxuICAgIFt0aHlJY29uTmF2TGlua0FjdGl2ZV09XCJpc09wZW5lZFwiXG4gICAgdGh5VG9vbHRpcFBsYWNlbWVudD1cInRvcFwiXG4gICAgKG1vdXNlZG93bik9XCJleGVjdXRlKCRldmVudClcIlxuPlxuICAgIDx0aHktaWNvbiBbdGh5SWNvbk5hbWVdPVwiYWN0aXZlTWVudT8uaWNvblwiPjwvdGh5LWljb24+XG4gICAgPHRoeS1pY29uIGNsYXNzPVwiY2FyZXQtZG93bi1pY29uIGZvbnQtc2l6ZS1zbSB0ZXh0LWRlc2NcIiB0aHlJY29uTmFtZT1cImNhcmV0LWRvd25cIj48L3RoeS1pY29uPlxuPC9hPlxuXG48bmctdGVtcGxhdGUgI1ZlcnRpY2FsQWxpZ25JdGVtcz5cbiAgICA8dGh5LWFjdGlvbi1tZW51IGNsYXNzPVwiZHJvcGRvd25cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbWVudSBvZiB0b29sYmFySXRlbT8uaW5jbHVkZXNcIj5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgdGh5QWN0aW9uTWVudUl0ZW1cbiAgICAgICAgICAgICAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICAgICAgICAgICAgICBbdGh5QWN0aW9uTWVudUl0ZW1BY3RpdmVdPVwibWVudS5rZXkgPT09IGFjdGl2ZU1lbnU/LmtleVwiXG4gICAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJpdGVtTW91c2Vkb3duKCRldmVudCwgbWVudSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwibWVudS5pY29uXCIgdGh5QWN0aW9uTWVudUl0ZW1JY29uPlxuICAgICAgICAgICAgICAgICAgICA8dGh5LWljb24gW3RoeUljb25OYW1lXT1cIm1lbnU/Lmljb25cIj48L3RoeS1pY29uPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiB0aHlBY3Rpb25NZW51SXRlbU5hbWU+e3sgbWVudS5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3RoeS1hY3Rpb24tbWVudT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|