novo-elements 9.0.0-next.1 → 9.0.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/addons/ace-editor/AceEditor.d.ts +4 -2
- package/addons/ace-editor/AceEditor.scss +1 -1
- package/addons/ckeditor/CKEditor.scss +8 -5
- package/addons/code-editor/CodeEditor.d.ts +31 -0
- package/addons/code-editor/CodeEditor.module.d.ts +9 -0
- package/addons/code-editor/CodeEditor.scss +5 -0
- package/addons/code-editor/index.d.ts +2 -0
- package/addons/code-editor/novo-elements-addons-code-editor.d.ts +5 -0
- package/addons/code-editor/package.json +10 -0
- package/addons/index.d.ts +1 -0
- package/elements/aside/aside.component.scss +1 -1
- package/elements/calendar/Calendar.module.d.ts +2 -3
- package/elements/category-dropdown/CategoryDropdown.scss +3 -1
- package/elements/checkbox/CheckList.scss +1 -1
- package/elements/checkbox/Checkbox.scss +1 -1
- package/elements/chips/Chip.scss +0 -21
- package/elements/chips/Chips.d.ts +2 -1
- package/elements/chips/Chips.scss +14 -98
- package/elements/chips/RowChips.scss +70 -0
- package/elements/common/overlay/Overlay.d.ts +1 -0
- package/elements/data-table/data-table.component.scss +3 -121
- package/elements/data-table/pagination/data-table-pagination.component.scss +124 -0
- package/elements/date-picker/DatePicker.module.d.ts +2 -2
- package/elements/date-picker/DatePickerInput.d.ts +8 -5
- package/elements/date-picker/MultiDateInput.d.ts +0 -1
- package/elements/date-picker/MultiDateInput.scss +0 -3
- package/elements/date-time-picker/DateTimePicker.module.d.ts +2 -3
- package/elements/drag-drop/drag-drop-box.d.ts +45 -0
- package/elements/drag-drop/drag-drop.module.d.ts +7 -0
- package/elements/drag-drop/index.d.ts +2 -0
- package/elements/drag-drop/novo-elements-elements-drag-drop.d.ts +5 -0
- package/elements/drag-drop/package.json +10 -0
- package/elements/dropdown/Dropdown.d.ts +7 -1
- package/elements/dropdown/Dropdown.scss +27 -2
- package/elements/field/formats/date-time-format.d.ts +2 -2
- package/elements/form/Control.d.ts +9 -6
- package/elements/form/ControlGroup.scss +2 -0
- package/elements/form/ControlTemplates.d.ts +1 -1
- package/elements/form/Form.module.d.ts +6 -6
- package/elements/form/Form.scss +25 -43
- package/elements/form/controls/code-editor/CodeEditorControl.d.ts +5 -0
- package/elements/form/controls/code-editor/index.d.ts +1 -0
- package/elements/form/controls/index.d.ts +2 -1
- package/elements/form/extras/FormExtras.module.d.ts +4 -4
- package/elements/form/extras/address/Address.scss +15 -13
- package/elements/form/extras/file/FileInput.d.ts +15 -16
- package/elements/form/extras/file/FileInput.scss +60 -30
- package/elements/form/fieldset-header.scss +17 -0
- package/elements/header/Header.scss +10 -1
- package/elements/index.d.ts +1 -0
- package/elements/list/list-item-content.scss +3 -3
- package/elements/list/list-item-header-avatar.scss +1 -1
- package/elements/list/list-item-header-title.scss +2 -1
- package/elements/modal/modal.component.scss +1 -1
- package/elements/multi-picker/_MultiPicker.scss +3 -3
- package/elements/picker/Picker.d.ts +2 -1
- package/elements/picker/Picker.scss +10 -351
- package/elements/picker/extras/base-picker-results/BasePickerResults.d.ts +1 -0
- package/elements/picker/extras/grouped-multi-picker-results/GroupedMultiPickerResults.scss +6 -6
- package/elements/picker/extras/mixed-multi-picker-results/MixedMultiPickerResults.scss +3 -3
- package/elements/picker/extras/picker-results/PickerResult.scss +12 -0
- package/elements/picker/extras/picker-results/PickerResults.scss +302 -0
- package/elements/picker/extras/skills-picker-results/SkillsSpecialtyPickerResults.scss +3 -1
- package/elements/popover/PopOver.scss +1 -1
- package/elements/query-builder/condition-builder/condition-builder.component.scss +1 -1
- package/elements/query-builder/condition-definitions/address-condition.definition.d.ts +1 -1
- package/elements/radio/Radio.scss +1 -1
- package/elements/select-search/select-search.component.scss +1 -1
- package/elements/simple-table/table.scss +3 -0
- package/elements/table/Table.module.d.ts +5 -6
- package/elements/table/Table.scss +7 -5
- package/elements/table/extras/pagination/Pagination.scss +3 -1
- package/elements/tabs/tab-content.scss +1 -1
- package/elements/tabs/tab-outlet.scss +1 -1
- package/elements/time-picker/TimePicker.d.ts +2 -3
- package/elements/time-picker/TimePicker.module.d.ts +3 -4
- package/elements/time-picker/TimePicker.scss +2 -2
- package/elements/time-picker/TimePickerInput.d.ts +5 -4
- package/elements/tip-well/TipWell.scss +0 -1
- package/esm2020/addons/ace-editor/AceEditor.mjs +10 -10
- package/esm2020/addons/ckeditor/CKEditor.mjs +10 -7
- package/esm2020/addons/code-editor/CodeEditor.mjs +129 -0
- package/esm2020/addons/code-editor/CodeEditor.module.mjs +19 -0
- package/esm2020/addons/code-editor/index.mjs +3 -0
- package/esm2020/addons/code-editor/novo-elements-addons-code-editor.mjs +5 -0
- package/esm2020/addons/index.mjs +2 -1
- package/esm2020/elements/breadcrumbs/breadcrumb-item/BreadcrumbItem.mjs +1 -1
- package/esm2020/elements/calendar/Calendar.module.mjs +5 -7
- package/esm2020/elements/calendar/calendar.component.mjs +3 -3
- package/esm2020/elements/calendar/month-select/month-select.component.mjs +3 -3
- package/esm2020/elements/calendar/month-view/month-view.component.mjs +3 -3
- package/esm2020/elements/calendar/year-select/year-select.component.mjs +3 -3
- package/esm2020/elements/category-dropdown/CategoryDropdown.mjs +5 -9
- package/esm2020/elements/chips/Chip.mjs +2 -2
- package/esm2020/elements/chips/ChipList.mjs +5 -14
- package/esm2020/elements/chips/Chips.mjs +11 -12
- package/esm2020/elements/chips/RowChips.mjs +5 -10
- package/esm2020/elements/common/overlay/Overlay.mjs +11 -5
- package/esm2020/elements/data-table/cell-headers/data-table-header-cell.component.mjs +1 -1
- package/esm2020/elements/data-table/data-table-clear-button.component.mjs +1 -1
- package/esm2020/elements/data-table/data-table.component.mjs +7 -13
- package/esm2020/elements/data-table/pagination/data-table-pagination.component.mjs +6 -8
- package/esm2020/elements/date-picker/DatePicker.module.mjs +6 -6
- package/esm2020/elements/date-picker/DatePickerInput.mjs +50 -29
- package/esm2020/elements/date-picker/DateRangeInput.mjs +10 -16
- package/esm2020/elements/date-picker/MultiDateInput.mjs +3 -19
- package/esm2020/elements/date-time-picker/DateTimePicker.module.mjs +4 -5
- package/esm2020/elements/date-time-picker/DateTimePickerInput.mjs +1 -1
- package/esm2020/elements/drag-drop/drag-drop-box.mjs +224 -0
- package/esm2020/elements/drag-drop/drag-drop.module.mjs +16 -0
- package/esm2020/elements/drag-drop/index.mjs +3 -0
- package/esm2020/elements/drag-drop/novo-elements-elements-drag-drop.mjs +5 -0
- package/esm2020/elements/dropdown/Dropdown.mjs +31 -6
- package/esm2020/elements/field/formats/date-format.mjs +5 -5
- package/esm2020/elements/field/formats/date-range-format.mjs +5 -5
- package/esm2020/elements/field/formats/date-time-format.mjs +12 -12
- package/esm2020/elements/field/formats/time-format.mjs +6 -6
- package/esm2020/elements/form/Control.mjs +20 -8
- package/esm2020/elements/form/ControlGroup.mjs +5 -5
- package/esm2020/elements/form/ControlTemplates.mjs +58 -27
- package/esm2020/elements/form/DynamicForm.mjs +9 -17
- package/esm2020/elements/form/Form.mjs +5 -9
- package/esm2020/elements/form/Form.module.mjs +12 -13
- package/esm2020/elements/form/NovoFormControl.mjs +1 -2
- package/esm2020/elements/form/controls/code-editor/CodeEditorControl.mjs +9 -0
- package/esm2020/elements/form/controls/code-editor/index.mjs +2 -0
- package/esm2020/elements/form/controls/index.mjs +3 -2
- package/esm2020/elements/form/controls/timezone/TimezoneControl.mjs +2 -2
- package/esm2020/elements/form/extras/FormExtras.module.mjs +8 -9
- package/esm2020/elements/form/extras/address/Address.mjs +4 -8
- package/esm2020/elements/form/extras/file/FileInput.mjs +38 -265
- package/esm2020/elements/header/Header.mjs +2 -2
- package/esm2020/elements/index.mjs +2 -1
- package/esm2020/elements/list/List.mjs +6 -6
- package/esm2020/elements/modal/modal.component.mjs +2 -2
- package/esm2020/elements/multi-picker/MultiPicker.mjs +5 -10
- package/esm2020/elements/picker/Picker.mjs +18 -10
- package/esm2020/elements/picker/extras/base-picker-results/BasePickerResults.mjs +4 -3
- package/esm2020/elements/picker/extras/entity-picker-results/EntityPickerResults.mjs +9 -16
- package/esm2020/elements/picker/extras/grouped-multi-picker-results/GroupedMultiPickerResults.mjs +4 -7
- package/esm2020/elements/picker/extras/mixed-multi-picker-results/MixedMultiPickerResults.mjs +4 -7
- package/esm2020/elements/picker/extras/picker-results/PickerResults.mjs +6 -10
- package/esm2020/elements/picker/extras/skills-picker-results/SkillsSpecialtyPickerResults.mjs +4 -7
- package/esm2020/elements/popover/PopOverContent.mjs +4 -7
- package/esm2020/elements/query-builder/condition-definitions/address-condition.definition.mjs +2 -2
- package/esm2020/elements/query-builder/condition-group/condition-group.component.mjs +3 -3
- package/esm2020/elements/radio/Radio.mjs +2 -2
- package/esm2020/elements/simple-table/cell-header.mjs +2 -2
- package/esm2020/elements/simple-table/cell.mjs +1 -1
- package/esm2020/elements/simple-table/table.mjs +7 -17
- package/esm2020/elements/tabbed-group-picker/TabbedGroupPicker.mjs +1 -1
- package/esm2020/elements/table/Table.mjs +6 -11
- package/esm2020/elements/table/Table.module.mjs +1 -6
- package/esm2020/elements/table/extras/dropdown-cell/DropdownCell.mjs +5 -8
- package/esm2020/elements/table/extras/pagination/Pagination.mjs +7 -8
- package/esm2020/elements/tabs/Tabs.mjs +6 -6
- package/esm2020/elements/time-picker/TimePicker.mjs +5 -6
- package/esm2020/elements/time-picker/TimePicker.module.mjs +4 -5
- package/esm2020/elements/time-picker/TimePickerInput.mjs +32 -75
- package/esm2020/elements/tip-well/TipWell.mjs +5 -5
- package/esm2020/index.mjs +1 -1
- package/esm2020/novo-elements.module.mjs +9 -3
- package/esm2020/novo-elements.providers.mjs +2 -2
- package/esm2020/services/date-format/DateFormat.mjs +153 -47
- package/esm2020/services/global/global.service.mjs +7 -1
- package/esm2020/utils/date/Date.mjs +1 -1
- package/esm2020/utils/date/index.mjs +3 -2
- package/esm2020/utils/date/timezone-support.mjs +87 -0
- package/fesm2015/novo-elements-addons-ace-editor.mjs +9 -9
- package/fesm2015/novo-elements-addons-ace-editor.mjs.map +1 -1
- package/fesm2015/novo-elements-addons-ckeditor.mjs +9 -6
- package/fesm2015/novo-elements-addons-ckeditor.mjs.map +1 -1
- package/fesm2015/novo-elements-addons-code-editor.mjs +150 -0
- package/fesm2015/novo-elements-addons-code-editor.mjs.map +1 -0
- package/fesm2015/novo-elements-addons.mjs +159 -17
- package/fesm2015/novo-elements-addons.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-breadcrumbs.mjs +1 -1
- package/fesm2015/novo-elements-elements-breadcrumbs.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-calendar.mjs +12 -13
- package/fesm2015/novo-elements-elements-calendar.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-category-dropdown.mjs +4 -8
- package/fesm2015/novo-elements-elements-category-dropdown.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-chips.mjs +20 -35
- package/fesm2015/novo-elements-elements-chips.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-common.mjs +10 -2
- package/fesm2015/novo-elements-elements-common.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-data-table.mjs +13 -21
- package/fesm2015/novo-elements-elements-data-table.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-date-picker.mjs +66 -64
- package/fesm2015/novo-elements-elements-date-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-date-time-picker.mjs +4 -5
- package/fesm2015/novo-elements-elements-date-time-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-drag-drop.mjs +245 -0
- package/fesm2015/novo-elements-elements-drag-drop.mjs.map +1 -0
- package/fesm2015/novo-elements-elements-dropdown.mjs +30 -5
- package/fesm2015/novo-elements-elements-dropdown.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-field.mjs +19 -19
- package/fesm2015/novo-elements-elements-field.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-form.mjs +141 -333
- package/fesm2015/novo-elements-elements-form.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-header.mjs +2 -2
- package/fesm2015/novo-elements-elements-header.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-list.mjs +6 -6
- package/fesm2015/novo-elements-elements-list.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-modal.mjs +2 -2
- package/fesm2015/novo-elements-elements-modal.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-multi-picker.mjs +4 -9
- package/fesm2015/novo-elements-elements-multi-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-picker.mjs +40 -51
- package/fesm2015/novo-elements-elements-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-popover.mjs +3 -6
- package/fesm2015/novo-elements-elements-popover.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-query-builder.mjs +2 -2
- package/fesm2015/novo-elements-elements-query-builder.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-radio.mjs +2 -2
- package/fesm2015/novo-elements-elements-radio.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-simple-table.mjs +8 -18
- package/fesm2015/novo-elements-elements-simple-table.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-tabbed-group-picker.mjs +1 -1
- package/fesm2015/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-table.mjs +13 -26
- package/fesm2015/novo-elements-elements-table.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-tabs.mjs +5 -5
- package/fesm2015/novo-elements-elements-tabs.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-time-picker.mjs +37 -81
- package/fesm2015/novo-elements-elements-time-picker.mjs.map +1 -1
- package/fesm2015/novo-elements-elements-tip-well.mjs +4 -4
- package/fesm2015/novo-elements-elements-tip-well.mjs.map +1 -1
- package/fesm2015/novo-elements-elements.mjs +1 -0
- package/fesm2015/novo-elements-elements.mjs.map +1 -1
- package/fesm2015/novo-elements-services.mjs +158 -46
- package/fesm2015/novo-elements-services.mjs.map +1 -1
- package/fesm2015/novo-elements-utils.mjs +88 -1
- package/fesm2015/novo-elements-utils.mjs.map +1 -1
- package/fesm2015/novo-elements.mjs +8 -2
- package/fesm2015/novo-elements.mjs.map +1 -1
- package/fesm2020/novo-elements-addons-ace-editor.mjs +9 -9
- package/fesm2020/novo-elements-addons-ace-editor.mjs.map +1 -1
- package/fesm2020/novo-elements-addons-ckeditor.mjs +9 -6
- package/fesm2020/novo-elements-addons-ckeditor.mjs.map +1 -1
- package/fesm2020/novo-elements-addons-code-editor.mjs +150 -0
- package/fesm2020/novo-elements-addons-code-editor.mjs.map +1 -0
- package/fesm2020/novo-elements-addons.mjs +159 -17
- package/fesm2020/novo-elements-addons.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-breadcrumbs.mjs +1 -1
- package/fesm2020/novo-elements-elements-breadcrumbs.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-calendar.mjs +12 -13
- package/fesm2020/novo-elements-elements-calendar.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-category-dropdown.mjs +4 -8
- package/fesm2020/novo-elements-elements-category-dropdown.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-chips.mjs +20 -35
- package/fesm2020/novo-elements-elements-chips.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-common.mjs +8 -2
- package/fesm2020/novo-elements-elements-common.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-data-table.mjs +13 -21
- package/fesm2020/novo-elements-elements-data-table.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-date-picker.mjs +64 -64
- package/fesm2020/novo-elements-elements-date-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-date-time-picker.mjs +4 -5
- package/fesm2020/novo-elements-elements-date-time-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-drag-drop.mjs +244 -0
- package/fesm2020/novo-elements-elements-drag-drop.mjs.map +1 -0
- package/fesm2020/novo-elements-elements-dropdown.mjs +30 -5
- package/fesm2020/novo-elements-elements-dropdown.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-field.mjs +19 -19
- package/fesm2020/novo-elements-elements-field.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-form.mjs +142 -335
- package/fesm2020/novo-elements-elements-form.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-header.mjs +2 -2
- package/fesm2020/novo-elements-elements-header.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-list.mjs +6 -6
- package/fesm2020/novo-elements-elements-list.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-modal.mjs +2 -2
- package/fesm2020/novo-elements-elements-modal.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-multi-picker.mjs +4 -9
- package/fesm2020/novo-elements-elements-multi-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-picker.mjs +40 -51
- package/fesm2020/novo-elements-elements-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-popover.mjs +3 -6
- package/fesm2020/novo-elements-elements-popover.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-query-builder.mjs +2 -2
- package/fesm2020/novo-elements-elements-query-builder.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-radio.mjs +2 -2
- package/fesm2020/novo-elements-elements-radio.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-simple-table.mjs +8 -18
- package/fesm2020/novo-elements-elements-simple-table.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-tabbed-group-picker.mjs +1 -1
- package/fesm2020/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-table.mjs +13 -26
- package/fesm2020/novo-elements-elements-table.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-tabs.mjs +5 -5
- package/fesm2020/novo-elements-elements-tabs.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-time-picker.mjs +36 -81
- package/fesm2020/novo-elements-elements-time-picker.mjs.map +1 -1
- package/fesm2020/novo-elements-elements-tip-well.mjs +4 -4
- package/fesm2020/novo-elements-elements-tip-well.mjs.map +1 -1
- package/fesm2020/novo-elements-elements.mjs +1 -0
- package/fesm2020/novo-elements-elements.mjs.map +1 -1
- package/fesm2020/novo-elements-services.mjs +158 -46
- package/fesm2020/novo-elements-services.mjs.map +1 -1
- package/fesm2020/novo-elements-utils.mjs +88 -1
- package/fesm2020/novo-elements-utils.mjs.map +1 -1
- package/fesm2020/novo-elements.mjs +8 -2
- package/fesm2020/novo-elements.mjs.map +1 -1
- package/novo-elements.module.d.ts +1 -1
- package/novo-elements.scss +3 -22
- package/package.json +23 -4
- package/services/date-format/DateFormat.d.ts +62 -3
- package/services/global/global.service.d.ts +3 -0
- package/styles/content/root.scss +1 -1
- package/styles/themes/light-test.scss +1 -1
- package/styles/themes/light.scss +1 -1
- package/styles/variables.scss +1 -1
- package/utils/date/index.d.ts +2 -1
- package/utils/date/timezone-support.d.ts +5 -0
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { forwardRef, EventEmitter, Component, Input, Output, NgModule, ViewChild, Injectable, Directive } from '@angular/core';
|
|
2
|
+
import { forwardRef, EventEmitter, Component, Input, Output, NgModule, ViewChild, HostBinding, HostListener, Injectable, Directive } from '@angular/core';
|
|
3
3
|
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
4
|
-
import 'brace
|
|
4
|
+
import * as ace from 'brace';
|
|
5
|
+
import 'brace/ext/language_tools.js';
|
|
5
6
|
import 'brace/mode/javascript';
|
|
6
7
|
import 'brace/theme/chrome';
|
|
7
|
-
import '
|
|
8
|
-
import { Helpers, notify } from 'novo-elements/utils';
|
|
8
|
+
import { notify, Helpers } from 'novo-elements/utils';
|
|
9
9
|
import { CommonModule } from '@angular/common';
|
|
10
|
+
import { defaultKeymap } from '@codemirror/commands';
|
|
11
|
+
import { javascript } from '@codemirror/lang-javascript';
|
|
12
|
+
import { Annotation, EditorState } from '@codemirror/state';
|
|
13
|
+
import { keymap, EditorView } from '@codemirror/view';
|
|
14
|
+
import { basicSetup } from 'codemirror';
|
|
10
15
|
import dragula from '@bullhorn/dragula';
|
|
11
16
|
|
|
12
17
|
// NG2
|
|
@@ -15,6 +20,9 @@ const ACE_VALUE_ACCESSOR = {
|
|
|
15
20
|
useExisting: forwardRef(() => NovoAceEditor),
|
|
16
21
|
multi: true,
|
|
17
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated Use NovoCodeEditor instead
|
|
25
|
+
*/
|
|
18
26
|
class NovoAceEditor {
|
|
19
27
|
constructor(elementRef) {
|
|
20
28
|
this.elementRef = elementRef;
|
|
@@ -29,6 +37,7 @@ class NovoAceEditor {
|
|
|
29
37
|
this.text = '';
|
|
30
38
|
this.onChange = (_) => { };
|
|
31
39
|
this.onTouched = () => { };
|
|
40
|
+
notify('[Deprecated]: The ace editor component is deprecated. Please migrate to novo-code-editor!');
|
|
32
41
|
}
|
|
33
42
|
set theme(theme) {
|
|
34
43
|
this.setTheme(theme);
|
|
@@ -108,14 +117,10 @@ class NovoAceEditor {
|
|
|
108
117
|
}
|
|
109
118
|
}
|
|
110
119
|
NovoAceEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoAceEditor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
111
|
-
NovoAceEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoAceEditor, selector: "novo-ace-editor", inputs: { theme: "theme", options: "options", mode: "mode", name: "name" }, outputs: { blur: "blur", focus: "focus" }, providers: [ACE_VALUE_ACCESSOR], ngImport: i0, template: '', isInline: true });
|
|
120
|
+
NovoAceEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoAceEditor, selector: "novo-ace-editor", inputs: { theme: "theme", options: "options", mode: "mode", name: "name" }, outputs: { blur: "blur", focus: "focus" }, providers: [ACE_VALUE_ACCESSOR], ngImport: i0, template: '', isInline: true, styles: [":host{display:block;width:100%;min-height:200px}\n"] });
|
|
112
121
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoAceEditor, decorators: [{
|
|
113
122
|
type: Component,
|
|
114
|
-
args: [{
|
|
115
|
-
selector: 'novo-ace-editor',
|
|
116
|
-
template: '',
|
|
117
|
-
providers: [ACE_VALUE_ACCESSOR],
|
|
118
|
-
}]
|
|
123
|
+
args: [{ selector: 'novo-ace-editor', template: '', providers: [ACE_VALUE_ACCESSOR], styles: [":host{display:block;width:100%;min-height:200px}\n"] }]
|
|
119
124
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { theme: [{
|
|
120
125
|
type: Input
|
|
121
126
|
}], options: [{
|
|
@@ -152,6 +157,13 @@ const CKEDITOR_CONTROL_VALUE_ACCESSOR = {
|
|
|
152
157
|
useExisting: forwardRef(() => NovoCKEditorElement),
|
|
153
158
|
multi: true,
|
|
154
159
|
};
|
|
160
|
+
// Prevents CKEDITOR from querying the page for all [contenteditable] elements (fixes a conflict against Codemirror Editor)
|
|
161
|
+
try {
|
|
162
|
+
CKEDITOR.disableAutoInline = true;
|
|
163
|
+
}
|
|
164
|
+
catch (err) {
|
|
165
|
+
// may be running in a context without CKEDITOR - ignore
|
|
166
|
+
}
|
|
155
167
|
/**
|
|
156
168
|
* CKEditor component
|
|
157
169
|
* Usage :
|
|
@@ -354,14 +366,10 @@ class NovoCKEditorElement {
|
|
|
354
366
|
}
|
|
355
367
|
}
|
|
356
368
|
NovoCKEditorElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoCKEditorElement, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
357
|
-
NovoCKEditorElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoCKEditorElement, selector: "novo-editor", inputs: { config: "config", debounce: "debounce", name: "name", minimal: "minimal", startupFocus: "startupFocus", fileBrowserImageUploadUrl: "fileBrowserImageUploadUrl", disabled: "disabled", value: "value" }, outputs: { change: "change", ready: "ready", blur: "blur", focus: "focus", paste: "paste", loaded: "loaded" }, providers: [CKEDITOR_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "host", first: true, predicate: ["host"], descendants: true }], ngImport: i0, template: '<textarea [name]="name" [id]="name" #host></textarea>', isInline: true });
|
|
369
|
+
NovoCKEditorElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoCKEditorElement, selector: "novo-editor", inputs: { config: "config", debounce: "debounce", name: "name", minimal: "minimal", startupFocus: "startupFocus", fileBrowserImageUploadUrl: "fileBrowserImageUploadUrl", disabled: "disabled", value: "value" }, outputs: { change: "change", ready: "ready", blur: "blur", focus: "focus", paste: "paste", loaded: "loaded" }, providers: [CKEDITOR_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "host", first: true, predicate: ["host"], descendants: true }], ngImport: i0, template: '<textarea [name]="name" [id]="name" #host></textarea>', isInline: true, styles: [":host ::ng-deep .cke{font:inherit!important;box-shadow:none;border-color:var(--background-muted)}:host ::ng-deep .cke .cke_top,:host ::ng-deep .cke .cke_bottom{background:var(--background-muted) none;box-shadow:none}:host ::ng-deep .cke .cke_bottom{border-top:none}.cke_dialog_background_cover{background-color:#000!important}.cke_dialog .cke_dialog_title{text-shadow:none;background:var(--background-muted) none;box-shadow:none;border-bottom:none}.cke_dialog .cke_dialog_footer{text-shadow:none;background:var(--background-muted) none;box-shadow:none;border-top:none}:host-context(.theme-dark) ::ng-deep .cke_button{filter:invert(1)}:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button:hover,:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button:active,:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button:focus,:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button.cke_combo_on{background:var(--background-main);border:1px solid var(--border)}:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button .cke_combo_text{color:#fff}:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button .cke_combo_arrow{border-top-color:#fff}\n"] });
|
|
358
370
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoCKEditorElement, decorators: [{
|
|
359
371
|
type: Component,
|
|
360
|
-
args: [{
|
|
361
|
-
selector: 'novo-editor',
|
|
362
|
-
providers: [CKEDITOR_CONTROL_VALUE_ACCESSOR],
|
|
363
|
-
template: '<textarea [name]="name" [id]="name" #host></textarea>',
|
|
364
|
-
}]
|
|
372
|
+
args: [{ selector: 'novo-editor', providers: [CKEDITOR_CONTROL_VALUE_ACCESSOR], template: '<textarea [name]="name" [id]="name" #host></textarea>', styles: [":host ::ng-deep .cke{font:inherit!important;box-shadow:none;border-color:var(--background-muted)}:host ::ng-deep .cke .cke_top,:host ::ng-deep .cke .cke_bottom{background:var(--background-muted) none;box-shadow:none}:host ::ng-deep .cke .cke_bottom{border-top:none}.cke_dialog_background_cover{background-color:#000!important}.cke_dialog .cke_dialog_title{text-shadow:none;background:var(--background-muted) none;box-shadow:none;border-bottom:none}.cke_dialog .cke_dialog_footer{text-shadow:none;background:var(--background-muted) none;box-shadow:none;border-top:none}:host-context(.theme-dark) ::ng-deep .cke_button{filter:invert(1)}:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button:hover,:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button:active,:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button:focus,:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button.cke_combo_on{background:var(--background-main);border:1px solid var(--border)}:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button .cke_combo_text{color:#fff}:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button .cke_combo_arrow{border-top-color:#fff}\n"] }]
|
|
365
373
|
}], ctorParameters: function () { return [{ type: i0.NgZone }]; }, propDecorators: { config: [{
|
|
366
374
|
type: Input
|
|
367
375
|
}], debounce: [{
|
|
@@ -410,6 +418,140 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
410
418
|
}]
|
|
411
419
|
}] });
|
|
412
420
|
|
|
421
|
+
// NG2
|
|
422
|
+
// organize-imports-ignore
|
|
423
|
+
// APP
|
|
424
|
+
const CODE_EDITOR_VALUE_ACCESSOR = {
|
|
425
|
+
provide: NG_VALUE_ACCESSOR,
|
|
426
|
+
useExisting: forwardRef(() => NovoCodeEditor),
|
|
427
|
+
multi: true,
|
|
428
|
+
};
|
|
429
|
+
// CodeMirror transaction annotation to show changes that came in through writeValue (FormControl value) as opposed to UI editing
|
|
430
|
+
const FormControlCodeWriter = Annotation.define();
|
|
431
|
+
// (This is a replacement for the "novo-ace-editor". Notably, we are no longer naming it based on the underlying component. It is possible, in the future,
|
|
432
|
+
// we decide there is another code editing component that better fits our use case - in which situation we should replace the implementation here, but keep its name)
|
|
433
|
+
class NovoCodeEditor {
|
|
434
|
+
constructor(elementRef) {
|
|
435
|
+
this.elementRef = elementRef;
|
|
436
|
+
this.theme = 'default';
|
|
437
|
+
this.lineNumbers = true;
|
|
438
|
+
this.blur = new EventEmitter();
|
|
439
|
+
this.focus = new EventEmitter();
|
|
440
|
+
this.changed = new EventEmitter();
|
|
441
|
+
this.mode = 'javascript';
|
|
442
|
+
this.initialValue = '';
|
|
443
|
+
this.disabled = false;
|
|
444
|
+
}
|
|
445
|
+
ngOnInit() {
|
|
446
|
+
}
|
|
447
|
+
ngOnDestroy() {
|
|
448
|
+
}
|
|
449
|
+
ngAfterViewInit() {
|
|
450
|
+
this.createEditorView();
|
|
451
|
+
}
|
|
452
|
+
createEditorView() {
|
|
453
|
+
const extensions = [
|
|
454
|
+
basicSetup,
|
|
455
|
+
keymap.of(defaultKeymap)
|
|
456
|
+
];
|
|
457
|
+
if (this.mode === 'javascript') {
|
|
458
|
+
extensions.push(javascript());
|
|
459
|
+
}
|
|
460
|
+
const initialEditorState = EditorState.create({
|
|
461
|
+
doc: this.initialValue,
|
|
462
|
+
extensions,
|
|
463
|
+
});
|
|
464
|
+
this.editorView = new EditorView({
|
|
465
|
+
state: initialEditorState,
|
|
466
|
+
parent: this.elementRef.nativeElement,
|
|
467
|
+
dispatch: (transaction, view) => {
|
|
468
|
+
// Prevent changes if the form is disabled - unless the change came from writeValue function
|
|
469
|
+
if (transaction.annotation(FormControlCodeWriter) || !(this.disabled && transaction.docChanged)) {
|
|
470
|
+
view.update([transaction]);
|
|
471
|
+
}
|
|
472
|
+
if (transaction.docChanged) {
|
|
473
|
+
this.changed.emit(view.state.doc.toString());
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
});
|
|
477
|
+
}
|
|
478
|
+
onFocus() {
|
|
479
|
+
this.focus.emit();
|
|
480
|
+
}
|
|
481
|
+
onBlur() {
|
|
482
|
+
this.blur.emit();
|
|
483
|
+
}
|
|
484
|
+
// ControlValueAccessor forward implementation
|
|
485
|
+
writeValue(value) {
|
|
486
|
+
if (this.editorView) {
|
|
487
|
+
this.editorView.dispatch({
|
|
488
|
+
changes: {
|
|
489
|
+
from: 0,
|
|
490
|
+
to: this.editorView.state.doc.length,
|
|
491
|
+
insert: value,
|
|
492
|
+
},
|
|
493
|
+
annotations: FormControlCodeWriter.of({}),
|
|
494
|
+
});
|
|
495
|
+
}
|
|
496
|
+
else if (value != null) {
|
|
497
|
+
this.initialValue = value;
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
registerOnChange(fn) {
|
|
501
|
+
this.changed.subscribe(fn);
|
|
502
|
+
}
|
|
503
|
+
registerOnTouched(fn) {
|
|
504
|
+
this.blur.subscribe(fn);
|
|
505
|
+
}
|
|
506
|
+
setDisabledState(isDisabled) {
|
|
507
|
+
this.disabled = isDisabled;
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
NovoCodeEditor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoCodeEditor, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
511
|
+
NovoCodeEditor.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoCodeEditor, selector: "novo-code-editor", inputs: { theme: "theme", lineNumbers: "lineNumbers", name: "name", mode: "mode" }, outputs: { blur: "blur", focus: "focus" }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()" }, properties: { "class.editor-disabled": "this.disabled" } }, providers: [CODE_EDITOR_VALUE_ACCESSOR], viewQueries: [{ propertyName: "editorRoot", first: true, predicate: ["editorRoot"], descendants: true }], ngImport: i0, template: '', isInline: true, styles: [":host{height:200px;display:block;overflow:auto}\n"] });
|
|
512
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoCodeEditor, decorators: [{
|
|
513
|
+
type: Component,
|
|
514
|
+
args: [{ selector: 'novo-code-editor', template: '', providers: [CODE_EDITOR_VALUE_ACCESSOR], styles: [":host{height:200px;display:block;overflow:auto}\n"] }]
|
|
515
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { theme: [{
|
|
516
|
+
type: Input
|
|
517
|
+
}], lineNumbers: [{
|
|
518
|
+
type: Input
|
|
519
|
+
}], name: [{
|
|
520
|
+
type: Input
|
|
521
|
+
}], blur: [{
|
|
522
|
+
type: Output
|
|
523
|
+
}], focus: [{
|
|
524
|
+
type: Output
|
|
525
|
+
}], mode: [{
|
|
526
|
+
type: Input
|
|
527
|
+
}], editorRoot: [{
|
|
528
|
+
type: ViewChild,
|
|
529
|
+
args: ['editorRoot']
|
|
530
|
+
}], disabled: [{
|
|
531
|
+
type: HostBinding,
|
|
532
|
+
args: ['class.editor-disabled']
|
|
533
|
+
}], onFocus: [{
|
|
534
|
+
type: HostListener,
|
|
535
|
+
args: ['focus']
|
|
536
|
+
}], onBlur: [{
|
|
537
|
+
type: HostListener,
|
|
538
|
+
args: ['blur']
|
|
539
|
+
}] } });
|
|
540
|
+
|
|
541
|
+
class NovoCodeEditorModule {
|
|
542
|
+
}
|
|
543
|
+
NovoCodeEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoCodeEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
544
|
+
NovoCodeEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoCodeEditorModule, declarations: [NovoCodeEditor], imports: [CommonModule, FormsModule], exports: [NovoCodeEditor] });
|
|
545
|
+
NovoCodeEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoCodeEditorModule, imports: [[CommonModule, FormsModule]] });
|
|
546
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoCodeEditorModule, decorators: [{
|
|
547
|
+
type: NgModule,
|
|
548
|
+
args: [{
|
|
549
|
+
imports: [CommonModule, FormsModule],
|
|
550
|
+
declarations: [NovoCodeEditor],
|
|
551
|
+
exports: [NovoCodeEditor]
|
|
552
|
+
}]
|
|
553
|
+
}] });
|
|
554
|
+
|
|
413
555
|
// NG2
|
|
414
556
|
/**
|
|
415
557
|
* @deprecated since v8.0.0 - slated for deletion.
|
|
@@ -628,5 +770,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
628
770
|
* Generated bundle index. Do not edit.
|
|
629
771
|
*/
|
|
630
772
|
|
|
631
|
-
export { NovoAceEditor, NovoAceEditorModule, NovoCKEditorElement, NovoDragulaElement, NovoDragulaModule, NovoDragulaService, NovoNovoCKEditorModule };
|
|
773
|
+
export { NovoAceEditor, NovoAceEditorModule, NovoCKEditorElement, NovoCodeEditor, NovoCodeEditorModule, NovoDragulaElement, NovoDragulaModule, NovoDragulaService, NovoNovoCKEditorModule };
|
|
632
774
|
//# sourceMappingURL=novo-elements-addons.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"novo-elements-addons.mjs","sources":["../../../projects/novo-elements/src/addons/ace-editor/AceEditor.ts","../../../projects/novo-elements/src/addons/ace-editor/AceEditor.module.ts","../../../projects/novo-elements/src/addons/ckeditor/CKEditor.ts","../../../projects/novo-elements/src/addons/ckeditor/CKEditor.module.ts","../../../projects/novo-elements/src/addons/dragula/DragulaService.ts","../../../projects/novo-elements/src/addons/dragula/Dragula.ts","../../../projects/novo-elements/src/addons/dragula/Dragula.module.ts","../../../projects/novo-elements/src/addons/novo-elements-addons.ts"],"sourcesContent":["// NG2\nimport { Component, ElementRef, EventEmitter, forwardRef, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n// Vendor\n// organize-imports-ignore\nimport 'brace/index';\nimport 'brace/mode/javascript';\nimport 'brace/theme/chrome';\nimport 'brace/ext/language_tools.js';\n// APP\nimport { Helpers } from 'novo-elements/utils';\n\ndeclare var ace: any;\n\nconst ACE_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoAceEditor),\n multi: true,\n};\n\n@Component({\n selector: 'novo-ace-editor',\n template: '',\n providers: [ACE_VALUE_ACCESSOR],\n})\nexport class NovoAceEditor implements ControlValueAccessor, OnInit, OnDestroy {\n @Input()\n set theme(theme: any) {\n this.setTheme(theme);\n }\n\n @Input()\n set options(options: any) {\n this.setOptions(options);\n }\n\n @Input()\n set mode(mode: any) {\n this.setMode(mode);\n }\n\n @Input()\n name: string;\n @Output()\n blur = new EventEmitter();\n @Output()\n focus = new EventEmitter();\n\n private _options: any = {\n showPrintMargin: false,\n displayIndentGuides: true,\n };\n private _theme: string = 'chrome';\n private _mode: string = 'javascript';\n\n private text: string = '';\n private oldText: string;\n private editor: any;\n\n private onChange = (_: any) => {};\n private onTouched = () => {};\n\n constructor(private elementRef: ElementRef) {}\n\n ngOnDestroy() {\n if (this.editor) {\n this.editor.destroy();\n }\n }\n\n ngOnInit() {\n this.initializeEditor();\n this.initializeOptions();\n this.initializeEvents();\n }\n\n private initializeEditor() {\n const el = this.elementRef.nativeElement;\n this.editor = ace.edit(el);\n this.editor.$blockScrolling = Infinity;\n }\n\n private initializeOptions() {\n this.setOptions(this._options || {});\n this.setTheme(this._theme);\n this.setMode(this._mode);\n }\n\n private initializeEvents() {\n this.editor.on('focus', (event) => this.focus.emit(event));\n this.editor.on('blur', (event) => this.focus.emit(event));\n this.editor.on('change', () => this.updateText());\n this.editor.on('paste', () => this.updateText());\n }\n\n private updateText() {\n const newVal = this.editor.getValue();\n\n if (newVal === this.oldText) {\n return;\n }\n\n this.text = newVal;\n this.onChange(newVal);\n this.oldText = newVal;\n }\n\n private setText(text: string) {\n if (Helpers.isBlank(text)) {\n text = '';\n }\n if (this.text !== text) {\n this.text = text;\n this.editor.setValue(text);\n this.onChange(text);\n this.editor.clearSelection();\n }\n }\n\n private setOptions(options: any) {\n this._options = options;\n this.editor.setOptions(options || {});\n }\n\n private setTheme(theme: string) {\n this._theme = theme;\n this.editor.setTheme(`ace/theme/${theme}`);\n }\n\n private setMode(mode: any) {\n this._mode = mode;\n this.editor.getSession().setMode(`ace/mode/${this._mode}`);\n }\n\n writeValue(value: any) {\n this.setText(value);\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport { NovoAceEditor } from './AceEditor';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [NovoAceEditor],\n exports: [NovoAceEditor],\n})\nexport class NovoAceEditorModule {}\n","// NG2\nimport { AfterViewInit, Component, EventEmitter, forwardRef, Input, NgZone, OnDestroy, Output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n// Value accessor for the component (supports ngModel)\nconst CKEDITOR_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoCKEditorElement),\n multi: true,\n};\n\ndeclare var CKEDITOR: any;\ndeclare global {\n interface Window {\n CKEDITOR: any;\n }\n}\n\n/**\n * CKEditor component\n * Usage :\n * <novo-editor [(ngModel)]=\"data\" [config]=\"{...}\" debounce=\"500\"></novo-editor>\n */\n@Component({\n selector: 'novo-editor',\n providers: [CKEDITOR_CONTROL_VALUE_ACCESSOR],\n template: '<textarea [name]=\"name\" [id]=\"name\" #host></textarea>',\n})\nexport class NovoCKEditorElement implements OnDestroy, AfterViewInit, ControlValueAccessor {\n @Input()\n config;\n @Input()\n debounce;\n @Input()\n name;\n @Input()\n minimal;\n @Input()\n startupFocus: boolean = false;\n @Input()\n fileBrowserImageUploadUrl: string = '';\n @Input()\n disabled: boolean = false;\n\n @Output()\n change = new EventEmitter();\n @Output()\n ready = new EventEmitter();\n @Output()\n blur = new EventEmitter();\n @Output()\n focus = new EventEmitter();\n @Output()\n paste = new EventEmitter();\n @Output()\n loaded = new EventEmitter();\n @ViewChild('host')\n host;\n\n _value: string = '';\n instance;\n debounceTimeout;\n\n constructor(private zone: NgZone) {}\n\n get value() {\n return this._value;\n }\n\n @Input()\n set value(v) {\n if (v !== this._value) {\n this._value = v;\n this.onChange(v);\n }\n }\n\n ngOnDestroy() {\n if (this.instance) {\n this.instance.focusManager.blur(true); // Remove focus from editor\n setTimeout(() => {\n this.instance.removeAllListeners();\n const aInstance = CKEDITOR.instances[this.instance.name];\n if (aInstance) {\n aInstance.destroy();\n }\n this.instance.destroy();\n this.instance = null;\n });\n }\n }\n\n ngAfterViewInit() {\n const config = Object.assign(this.getBaseConfig(), this.config);\n if (this.startupFocus) {\n config.startupFocus = true;\n }\n if (this.disabled) {\n config.readOnly = true;\n }\n this.ckeditorInit(config);\n }\n\n updateValue(value) {\n this.zone.run(() => {\n this.value = value;\n this.onChange(value);\n this.onTouched();\n this.change.emit(value);\n });\n }\n\n private ckeditorInit(config) {\n if (!CKEDITOR) {\n console.error('Make sure to include CKEditor sources in your dependencies!');\n return;\n }\n\n // CKEditor replace textarea\n this.instance = CKEDITOR.replace(this.host.nativeElement, config);\n\n // Set initial value\n this.instance.setData(this.value);\n\n // listen for instanceReady event\n this.instance.on('instanceReady', (evt) => {\n // send the evt to the EventEmitter\n this.ready.emit(evt);\n });\n\n // CKEditor change event\n this.instance.on('change', () => {\n this.onTouched();\n const value = this.instance.getData();\n\n // Debounce update\n if (this.debounce) {\n if (this.debounceTimeout) {\n clearTimeout(this.debounceTimeout);\n }\n this.debounceTimeout = setTimeout(() => {\n this.updateValue(value);\n this.debounceTimeout = null;\n }, parseInt(this.debounce, 10));\n } else {\n this.updateValue(value);\n }\n });\n this.instance.on('blur', (event) => {\n this.blur.emit(event);\n });\n this.instance.on('focus', (event) => {\n this.focus.emit(event);\n });\n this.instance.on('paste', (event) => {\n this.paste.emit(event);\n });\n this.instance.on('loaded', (event) => {\n this.loaded.emit(event);\n });\n }\n\n getBaseConfig(): { [key: string]: any } {\n const baseConfig = {\n enterMode: CKEDITOR.ENTER_BR,\n entities: false,\n shiftEnterMode: CKEDITOR.ENTER_P,\n disableNativeSpellChecker: false,\n removePlugins: 'liststyle,tabletools,contextmenu,tableselection', // allows browser based spell checking\n extraAllowedContent: '*(*){*};table tbody tr td th[*];', // allows class names (*) and inline styles {*} for all and attributes [*] on tables\n font_names:\n 'Arial/Arial, Helvetica, sans-serif;' +\n 'Calibri/Calibri, Verdana, Geneva, sans-serif;' +\n 'Comic Sans MS/Comic Sans MS, cursive;' +\n 'Courier New/Courier New, Courier, monospace;' +\n 'Georgia/Georgia, serif;' +\n 'Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;' +\n 'Tahoma/Tahoma, Geneva, sans-serif;' +\n 'Times New Roman/Times New Roman, Times, serif;' +\n 'Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;' +\n 'Verdana/Verdana, Geneva, sans-serif',\n };\n\n const minimalConfig = {\n toolbar: [\n {\n name: 'basicstyles',\n items: [\n 'Styles',\n 'FontSize',\n 'Bold',\n 'Italic',\n 'Underline',\n 'TextColor',\n '-',\n 'NumberedList',\n 'BulletedList',\n 'Outdent',\n 'Indent',\n 'Link',\n ],\n },\n ],\n };\n\n const extendedConfig = {\n toolbar: [\n { name: 'clipboard', items: ['Paste', 'PasteText', 'PasteFromWord', 'Undo', 'Redo'] },\n {\n name: 'paragraph',\n items: [\n 'NumberedList',\n 'BulletedList',\n 'Outdent',\n 'Indent',\n 'Blockquote',\n 'JustifyLeft',\n 'JustifyCenter',\n 'JustifyRight',\n 'JustifyBlock',\n 'BidiLtr',\n 'BidiRtl',\n ],\n },\n { name: 'links', items: ['Link'] },\n { name: 'insert', items: ['Image', 'Table', 'HorizontalRule'] },\n { name: 'tools', items: ['Maximize', 'Source'] },\n '/', // line break\n { name: 'basicstyles', items: ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript'] },\n { name: 'styles', items: ['Styles', 'Format', 'Font', 'FontSize'] },\n { name: 'colors', items: ['TextColor', 'BGColor'] },\n ],\n filebrowserImageUploadUrl: this.fileBrowserImageUploadUrl,\n };\n\n return Object.assign(baseConfig, this.minimal ? minimalConfig : extendedConfig);\n }\n\n writeValue(value) {\n this._value = value;\n if (this.instance) {\n this.instance.setData(value);\n }\n }\n\n onChange(value?: any) {}\n\n onTouched(event?) {}\n\n registerOnChange(fn) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n if (this.instance) {\n CKEDITOR.instances[this.instance.name].setReadOnly(disabled);\n }\n }\n\n insertText(text) {\n const trimmedText = text.trim();\n this.instance.insertText(trimmedText);\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// APP\nimport { NovoCKEditorElement } from './CKEditor';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [NovoCKEditorElement],\n exports: [NovoCKEditorElement],\n})\nexport class NovoNovoCKEditorModule {}\n","// NG2\nimport { EventEmitter, Injectable } from '@angular/core';\n// Vendor\nimport dragula from '@bullhorn/dragula';\n\n/**\n* @deprecated since v8.0.0 - slated for deletion.\n*\n* Moving away from all CommonJS dependencies to improve tree-shaking.\n*\n* Please look at built-in ng or third party drag-drop libraries like\n* angular-draggable-droppable, ngx-drag-drop, ngx-sortablejs, ng2-dragula.\n*/\n@Injectable()\nexport class NovoDragulaService {\n cancel: EventEmitter<any> = new EventEmitter();\n cloned: EventEmitter<any> = new EventEmitter();\n drag: EventEmitter<any> = new EventEmitter();\n dragend: EventEmitter<any> = new EventEmitter();\n drop: EventEmitter<any> = new EventEmitter();\n out: EventEmitter<any> = new EventEmitter();\n over: EventEmitter<any> = new EventEmitter();\n remove: EventEmitter<any> = new EventEmitter();\n shadow: EventEmitter<any> = new EventEmitter();\n dropModel: EventEmitter<any> = new EventEmitter();\n removeModel: EventEmitter<any> = new EventEmitter();\n events: Array<string> = ['cancel', 'cloned', 'drag', 'dragend', 'drop', 'out', 'over', 'remove', 'shadow', 'dropModel', 'removeModel'];\n bags: Array<any> = [];\n\n add(name, drake) {\n let bag = this.find(name);\n if (bag) {\n throw new Error(`Bag named: ${name} already exists.`);\n }\n bag = {\n name,\n drake,\n };\n this.bags.push(bag);\n if (drake.models) {\n // models to sync with (must have same structure as containers)\n this.handleModels(name, drake);\n }\n if (!bag.initEvents) {\n this.setupEvents(bag);\n }\n return bag;\n }\n\n find(name) {\n for (let i = 0; i < this.bags.length; i++) {\n if (this.bags[i].name === name) {\n return this.bags[i];\n }\n }\n return null;\n }\n\n destroy(name) {\n const bag = this.find(name);\n const i = this.bags.indexOf(bag);\n this.bags.splice(i, 1);\n bag.drake.destroy();\n }\n\n setOptions(name, options) {\n const bag = this.add(name, dragula(options));\n this.handleModels(name, bag.drake);\n }\n\n handleModels(name, drake) {\n let dragElm;\n let dragIndex;\n let dropIndex;\n let sourceModel;\n drake.on('remove', (el, source) => {\n if (!drake.models) {\n return;\n }\n sourceModel = drake.models[drake.containers.indexOf(source)];\n sourceModel.splice(dragIndex, 1);\n this.removeModel.emit([name, el, source]);\n });\n drake.on('drag', (el, source) => {\n dragElm = el;\n dragIndex = this.domIndexOf(el, source);\n });\n drake.on('drop', (dropElm, target, source) => {\n if (!drake.models) {\n return;\n }\n dropIndex = this.domIndexOf(dropElm, target);\n sourceModel = drake.models[drake.containers.indexOf(source)];\n if (target === source) {\n sourceModel.splice(dropIndex, 0, sourceModel.splice(dragIndex, 1)[0]);\n } else {\n const notCopy = dragElm === dropElm;\n const targetModel = drake.models[drake.containers.indexOf(target)];\n const dropElmModel = notCopy ? sourceModel[dragIndex] : JSON.parse(JSON.stringify(sourceModel[dragIndex]));\n\n if (notCopy) {\n sourceModel.splice(dragIndex, 1);\n }\n targetModel.splice(dropIndex, 0, dropElmModel);\n target.removeChild(dropElm); // element must be removed for ngFor to apply correctly\n }\n this.dropModel.emit([name, dropElm, target, source]);\n });\n }\n\n setupEvents(bag) {\n bag.initEvents = true;\n const that = this;\n const emitter = (type) => {\n function replicate() {\n const args = Array.prototype.slice.call(arguments);\n that[type].emit([bag.name].concat(args));\n }\n\n bag.drake.on(type, replicate);\n };\n this.events.forEach(emitter);\n }\n\n domIndexOf(child, parent) {\n return Array.prototype.indexOf.call(parent.children, child);\n }\n}\n","// NG2\nimport { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\n// Vendor\nimport dragula from '@bullhorn/dragula';\n// APP\nimport { notify } from 'novo-elements/utils';\nimport { NovoDragulaService } from './DragulaService';\n\n/**\n* @deprecated since v8.0.0 - slated for deletion.\n*\n* Moving away from all CommonJS dependencies to improve tree-shaking.\n*\n* Please look at built-in ng or third party drag-drop libraries like\n* angular-draggable-droppable, ngx-drag-drop, ngx-sortablejs, ng2-dragula.\n*/\n@Directive({\n selector: '[dragula]',\n})\nexport class NovoDragulaElement implements OnInit, OnChanges {\n @Input('dragula')\n bag: any;\n @Input()\n dragulaModel: any;\n drake: any = null;\n container: any;\n\n constructor(element: ElementRef, private dragulaService: NovoDragulaService) {\n notify('[dragula] has been deprecated - please look at built-in ng or third party drag-drop libraries instead');\n this.container = element.nativeElement;\n }\n\n ngOnInit() {\n const bag = this.dragulaService.find(this.bag);\n\n if (bag) {\n this.drake = bag.drake;\n this.checkModel();\n this.drake.containers.push(this.container);\n } else {\n this.drake = dragula({\n containers: [this.container],\n });\n this.checkModel();\n this.dragulaService.add(this.bag, this.drake);\n }\n }\n\n checkModel() {\n if (this.dragulaModel) {\n if (this.drake.models) {\n this.drake.models.push(this.dragulaModel);\n } else {\n this.drake.models = [this.dragulaModel];\n }\n }\n }\n\n ngOnChanges(changes) {\n if (changes && changes.dragulaModel) {\n if (this.drake) {\n if (this.drake.models) {\n const modelIndex = this.drake.models.indexOf(changes.dragulaModel.previousValue);\n this.drake.models.splice(modelIndex, 1, changes.dragulaModel.currentValue);\n } else {\n this.drake.models = [changes.dragulaModel.currentValue];\n }\n }\n }\n }\n}\n","// NG2\nimport { NgModule } from '@angular/core';\n// APP\nimport { NovoDragulaElement } from './Dragula';\n\n/**\n* @deprecated since v8.0.0 - slated for deletion.\n*\n* Moving away from all CommonJS dependencies to improve tree-shaking.\n*\n* Please look at built-in ng or third party drag-drop libraries like\n* angular-draggable-droppable, ngx-drag-drop, ngx-sortablejs, ng2-dragula.\n*/\n@NgModule({\n declarations: [NovoDragulaElement],\n exports: [NovoDragulaElement],\n})\nexport class NovoDragulaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NovoDragulaService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"novo-elements-addons.mjs","sources":["../../../projects/novo-elements/src/addons/ace-editor/AceEditor.ts","../../../projects/novo-elements/src/addons/ace-editor/AceEditor.module.ts","../../../projects/novo-elements/src/addons/ckeditor/CKEditor.ts","../../../projects/novo-elements/src/addons/ckeditor/CKEditor.module.ts","../../../projects/novo-elements/src/addons/code-editor/CodeEditor.ts","../../../projects/novo-elements/src/addons/code-editor/CodeEditor.module.ts","../../../projects/novo-elements/src/addons/dragula/DragulaService.ts","../../../projects/novo-elements/src/addons/dragula/Dragula.ts","../../../projects/novo-elements/src/addons/dragula/Dragula.module.ts","../../../projects/novo-elements/src/addons/novo-elements-addons.ts"],"sourcesContent":["// NG2\nimport { Component, ElementRef, EventEmitter, forwardRef, Input, OnDestroy, OnInit, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n// Vendor\n// organize-imports-ignore\nimport * as ace from 'brace';\nimport 'brace/ext/language_tools.js';\nimport 'brace/mode/javascript';\nimport 'brace/theme/chrome';\n// APP\nimport { Helpers, notify } from 'novo-elements/utils';\n\nconst ACE_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoAceEditor),\n multi: true,\n};\n\n/**\n * @deprecated Use NovoCodeEditor instead\n */\n@Component({\n selector: 'novo-ace-editor',\n template: '',\n styleUrls: ['./AceEditor.scss'],\n providers: [ACE_VALUE_ACCESSOR],\n})\nexport class NovoAceEditor implements ControlValueAccessor, OnInit, OnDestroy {\n @Input()\n set theme(theme: any) {\n this.setTheme(theme);\n }\n\n @Input()\n set options(options: any) {\n this.setOptions(options);\n }\n\n @Input()\n set mode(mode: any) {\n this.setMode(mode);\n }\n\n @Input()\n name: string;\n @Output()\n blur = new EventEmitter();\n @Output()\n focus = new EventEmitter();\n\n private _options: any = {\n showPrintMargin: false,\n displayIndentGuides: true,\n };\n private _theme: string = 'chrome';\n private _mode: string = 'javascript';\n\n private text: string = '';\n private oldText: string;\n private editor: any;\n\n private onChange = (_: any) => {};\n private onTouched = () => {};\n\n constructor(private elementRef: ElementRef) {\n notify('[Deprecated]: The ace editor component is deprecated. Please migrate to novo-code-editor!');\n }\n\n ngOnDestroy() {\n if (this.editor) {\n this.editor.destroy();\n }\n }\n\n ngOnInit() {\n this.initializeEditor();\n this.initializeOptions();\n this.initializeEvents();\n }\n\n private initializeEditor() {\n const el = this.elementRef.nativeElement;\n this.editor = ace.edit(el);\n this.editor.$blockScrolling = Infinity;\n }\n\n private initializeOptions() {\n this.setOptions(this._options || {});\n this.setTheme(this._theme);\n this.setMode(this._mode);\n }\n\n private initializeEvents() {\n this.editor.on('focus', (event) => this.focus.emit(event));\n this.editor.on('blur', (event) => this.focus.emit(event));\n this.editor.on('change', () => this.updateText());\n this.editor.on('paste', () => this.updateText());\n }\n\n private updateText() {\n const newVal = this.editor.getValue();\n\n if (newVal === this.oldText) {\n return;\n }\n\n this.text = newVal;\n this.onChange(newVal);\n this.oldText = newVal;\n }\n\n private setText(text: string) {\n if (Helpers.isBlank(text)) {\n text = '';\n }\n if (this.text !== text) {\n this.text = text;\n this.editor.setValue(text);\n this.onChange(text);\n this.editor.clearSelection();\n }\n }\n\n private setOptions(options: any) {\n this._options = options;\n this.editor.setOptions(options || {});\n }\n\n private setTheme(theme: string) {\n this._theme = theme;\n this.editor.setTheme(`ace/theme/${theme}`);\n }\n\n private setMode(mode: any) {\n this._mode = mode;\n this.editor.getSession().setMode(`ace/mode/${this._mode}`);\n }\n\n writeValue(value: any) {\n this.setText(value);\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport { NovoAceEditor } from './AceEditor';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [NovoAceEditor],\n exports: [NovoAceEditor],\n})\nexport class NovoAceEditorModule {}\n","// NG2\nimport { AfterViewInit, Component, EventEmitter, forwardRef, Input, NgZone, OnDestroy, Output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n// Value accessor for the component (supports ngModel)\nconst CKEDITOR_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoCKEditorElement),\n multi: true,\n};\n\ndeclare var CKEDITOR: any;\ndeclare global {\n interface Window {\n CKEDITOR: any;\n }\n}\n// Prevents CKEDITOR from querying the page for all [contenteditable] elements (fixes a conflict against Codemirror Editor)\ntry {\n CKEDITOR.disableAutoInline = true;\n} catch(err) {\n // may be running in a context without CKEDITOR - ignore\n}\n\n/**\n * CKEditor component\n * Usage :\n * <novo-editor [(ngModel)]=\"data\" [config]=\"{...}\" debounce=\"500\"></novo-editor>\n */\n@Component({\n selector: 'novo-editor',\n providers: [CKEDITOR_CONTROL_VALUE_ACCESSOR],\n template: '<textarea [name]=\"name\" [id]=\"name\" #host></textarea>',\n styleUrls: ['./CKEditor.scss'],\n})\nexport class NovoCKEditorElement implements OnDestroy, AfterViewInit, ControlValueAccessor {\n @Input()\n config;\n @Input()\n debounce;\n @Input()\n name;\n @Input()\n minimal;\n @Input()\n startupFocus: boolean = false;\n @Input()\n fileBrowserImageUploadUrl: string = '';\n @Input()\n disabled: boolean = false;\n\n @Output()\n change = new EventEmitter();\n @Output()\n ready = new EventEmitter();\n @Output()\n blur = new EventEmitter();\n @Output()\n focus = new EventEmitter();\n @Output()\n paste = new EventEmitter();\n @Output()\n loaded = new EventEmitter();\n @ViewChild('host')\n host;\n\n _value: string = '';\n instance;\n debounceTimeout;\n\n constructor(private zone: NgZone) {}\n\n get value() {\n return this._value;\n }\n\n @Input()\n set value(v) {\n if (v !== this._value) {\n this._value = v;\n this.onChange(v);\n }\n }\n\n ngOnDestroy() {\n if (this.instance) {\n this.instance.focusManager.blur(true); // Remove focus from editor\n setTimeout(() => {\n this.instance.removeAllListeners();\n const aInstance = CKEDITOR.instances[this.instance.name];\n if (aInstance) {\n aInstance.destroy();\n }\n this.instance.destroy();\n this.instance = null;\n });\n }\n }\n\n ngAfterViewInit() {\n const config = Object.assign(this.getBaseConfig(), this.config);\n if (this.startupFocus) {\n config.startupFocus = true;\n }\n if (this.disabled) {\n config.readOnly = true;\n }\n this.ckeditorInit(config);\n }\n\n updateValue(value) {\n this.zone.run(() => {\n this.value = value;\n this.onChange(value);\n this.onTouched();\n this.change.emit(value);\n });\n }\n\n private ckeditorInit(config) {\n if (!CKEDITOR) {\n console.error('Make sure to include CKEditor sources in your dependencies!');\n return;\n }\n\n // CKEditor replace textarea\n this.instance = CKEDITOR.replace(this.host.nativeElement, config);\n\n // Set initial value\n this.instance.setData(this.value);\n\n // listen for instanceReady event\n this.instance.on('instanceReady', (evt) => {\n // send the evt to the EventEmitter\n this.ready.emit(evt);\n });\n\n // CKEditor change event\n this.instance.on('change', () => {\n this.onTouched();\n const value = this.instance.getData();\n\n // Debounce update\n if (this.debounce) {\n if (this.debounceTimeout) {\n clearTimeout(this.debounceTimeout);\n }\n this.debounceTimeout = setTimeout(() => {\n this.updateValue(value);\n this.debounceTimeout = null;\n }, parseInt(this.debounce, 10));\n } else {\n this.updateValue(value);\n }\n });\n this.instance.on('blur', (event) => {\n this.blur.emit(event);\n });\n this.instance.on('focus', (event) => {\n this.focus.emit(event);\n });\n this.instance.on('paste', (event) => {\n this.paste.emit(event);\n });\n this.instance.on('loaded', (event) => {\n this.loaded.emit(event);\n });\n }\n\n getBaseConfig(): { [key: string]: any } {\n const baseConfig = {\n enterMode: CKEDITOR.ENTER_BR,\n entities: false,\n shiftEnterMode: CKEDITOR.ENTER_P,\n disableNativeSpellChecker: false,\n removePlugins: 'liststyle,tabletools,contextmenu,tableselection', // allows browser based spell checking\n extraAllowedContent: '*(*){*};table tbody tr td th[*];', // allows class names (*) and inline styles {*} for all and attributes [*] on tables\n font_names:\n 'Arial/Arial, Helvetica, sans-serif;' +\n 'Calibri/Calibri, Verdana, Geneva, sans-serif;' +\n 'Comic Sans MS/Comic Sans MS, cursive;' +\n 'Courier New/Courier New, Courier, monospace;' +\n 'Georgia/Georgia, serif;' +\n 'Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;' +\n 'Tahoma/Tahoma, Geneva, sans-serif;' +\n 'Times New Roman/Times New Roman, Times, serif;' +\n 'Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;' +\n 'Verdana/Verdana, Geneva, sans-serif',\n };\n\n const minimalConfig = {\n toolbar: [\n {\n name: 'basicstyles',\n items: [\n 'Styles',\n 'FontSize',\n 'Bold',\n 'Italic',\n 'Underline',\n 'TextColor',\n '-',\n 'NumberedList',\n 'BulletedList',\n 'Outdent',\n 'Indent',\n 'Link',\n ],\n },\n ],\n };\n\n const extendedConfig = {\n toolbar: [\n { name: 'clipboard', items: ['Paste', 'PasteText', 'PasteFromWord', 'Undo', 'Redo'] },\n {\n name: 'paragraph',\n items: [\n 'NumberedList',\n 'BulletedList',\n 'Outdent',\n 'Indent',\n 'Blockquote',\n 'JustifyLeft',\n 'JustifyCenter',\n 'JustifyRight',\n 'JustifyBlock',\n 'BidiLtr',\n 'BidiRtl',\n ],\n },\n { name: 'links', items: ['Link'] },\n { name: 'insert', items: ['Image', 'Table', 'HorizontalRule'] },\n { name: 'tools', items: ['Maximize', 'Source'] },\n '/', // line break\n { name: 'basicstyles', items: ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript'] },\n { name: 'styles', items: ['Styles', 'Format', 'Font', 'FontSize'] },\n { name: 'colors', items: ['TextColor', 'BGColor'] },\n ],\n filebrowserImageUploadUrl: this.fileBrowserImageUploadUrl,\n };\n\n return Object.assign(baseConfig, this.minimal ? minimalConfig : extendedConfig);\n }\n\n writeValue(value) {\n this._value = value;\n if (this.instance) {\n this.instance.setData(value);\n }\n }\n\n onChange(value?: any) {}\n\n onTouched(event?) {}\n\n registerOnChange(fn) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n if (this.instance) {\n CKEDITOR.instances[this.instance.name].setReadOnly(disabled);\n }\n }\n\n insertText(text) {\n const trimmedText = text.trim();\n this.instance.insertText(trimmedText);\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// APP\nimport { NovoCKEditorElement } from './CKEditor';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [NovoCKEditorElement],\n exports: [NovoCKEditorElement],\n})\nexport class NovoNovoCKEditorModule {}\n","// NG2\nimport { AfterViewInit, Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, OnInit, Output, ViewChild, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n// Vendor\nimport { defaultKeymap } from '@codemirror/commands';\nimport { javascript } from '@codemirror/lang-javascript';\nimport { Annotation, EditorState } from '@codemirror/state';\nimport { EditorView, keymap } from '@codemirror/view';\nimport { basicSetup } from 'codemirror';\n\n// organize-imports-ignore\n\n// APP\nconst CODE_EDITOR_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoCodeEditor),\n multi: true,\n};\n\n// CodeMirror transaction annotation to show changes that came in through writeValue (FormControl value) as opposed to UI editing\nconst FormControlCodeWriter = Annotation.define();\n\n// (This is a replacement for the \"novo-ace-editor\". Notably, we are no longer naming it based on the underlying component. It is possible, in the future,\n// we decide there is another code editing component that better fits our use case - in which situation we should replace the implementation here, but keep its name)\n@Component({\n selector: 'novo-code-editor',\n template: '',\n styleUrls: ['./CodeEditor.scss'],\n providers: [CODE_EDITOR_VALUE_ACCESSOR]\n})\nexport class NovoCodeEditor implements ControlValueAccessor, OnInit, OnDestroy, AfterViewInit {\n @Input()\n theme: string = 'default';\n\n @Input()\n lineNumbers = true;\n\n @Input()\n name: string;\n\n @Output()\n blur = new EventEmitter();\n @Output()\n focus = new EventEmitter();\n\n private changed = new EventEmitter<string>();\n\n @Input() mode: string = 'javascript';\n\n @ViewChild('editorRoot')\n editorRoot: ElementRef<HTMLElement>;\n\n editorView: EditorView;\n initialValue = '';\n\n @HostBinding('class.editor-disabled')\n private disabled = false;\n\n constructor(private elementRef: ElementRef) {}\n\n ngOnInit(): void {\n }\n\n ngOnDestroy(): void {\n \n }\n\n ngAfterViewInit(): void {\n this.createEditorView();\n }\n\n createEditorView(): void {\n const extensions = [\n basicSetup,\n keymap.of(defaultKeymap)\n ];\n if (this.mode === 'javascript') {\n extensions.push(javascript());\n }\n const initialEditorState = EditorState.create({\n doc: this.initialValue,\n extensions,\n });\n this.editorView = new EditorView({\n state: initialEditorState,\n parent: this.elementRef.nativeElement,\n dispatch: (transaction, view) => {\n // Prevent changes if the form is disabled - unless the change came from writeValue function\n if (transaction.annotation(FormControlCodeWriter) || !(this.disabled && transaction.docChanged)) {\n view.update([transaction]);\n }\n if (transaction.docChanged) {\n this.changed.emit(view.state.doc.toString());\n }\n }\n });\n }\n\n @HostListener('focus')\n onFocus() {\n this.focus.emit();\n }\n\n @HostListener('blur')\n onBlur() {\n this.blur.emit();\n }\n\n // ControlValueAccessor forward implementation\n writeValue(value: any) {\n if (this.editorView) {\n this.editorView.dispatch({\n changes: {\n from: 0,\n to: this.editorView.state.doc.length,\n insert: value,\n },\n annotations: FormControlCodeWriter.of({}),\n });\n } else if (value != null) {\n this.initialValue = value;\n }\n }\n\n registerOnChange(fn: any) {\n this.changed.subscribe(fn);\n }\n\n registerOnTouched(fn: any) {\n this.blur.subscribe(fn);\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NovoCodeEditor } from \"./CodeEditor\";\n\n@NgModule({\n imports: [CommonModule, FormsModule ],\n declarations: [NovoCodeEditor],\n exports: [NovoCodeEditor]\n})\nexport class NovoCodeEditorModule {}","// NG2\nimport { EventEmitter, Injectable } from '@angular/core';\n// Vendor\nimport dragula from '@bullhorn/dragula';\n\n/**\n* @deprecated since v8.0.0 - slated for deletion.\n*\n* Moving away from all CommonJS dependencies to improve tree-shaking.\n*\n* Please look at built-in ng or third party drag-drop libraries like\n* angular-draggable-droppable, ngx-drag-drop, ngx-sortablejs, ng2-dragula.\n*/\n@Injectable()\nexport class NovoDragulaService {\n cancel: EventEmitter<any> = new EventEmitter();\n cloned: EventEmitter<any> = new EventEmitter();\n drag: EventEmitter<any> = new EventEmitter();\n dragend: EventEmitter<any> = new EventEmitter();\n drop: EventEmitter<any> = new EventEmitter();\n out: EventEmitter<any> = new EventEmitter();\n over: EventEmitter<any> = new EventEmitter();\n remove: EventEmitter<any> = new EventEmitter();\n shadow: EventEmitter<any> = new EventEmitter();\n dropModel: EventEmitter<any> = new EventEmitter();\n removeModel: EventEmitter<any> = new EventEmitter();\n events: Array<string> = ['cancel', 'cloned', 'drag', 'dragend', 'drop', 'out', 'over', 'remove', 'shadow', 'dropModel', 'removeModel'];\n bags: Array<any> = [];\n\n add(name, drake) {\n let bag = this.find(name);\n if (bag) {\n throw new Error(`Bag named: ${name} already exists.`);\n }\n bag = {\n name,\n drake,\n };\n this.bags.push(bag);\n if (drake.models) {\n // models to sync with (must have same structure as containers)\n this.handleModels(name, drake);\n }\n if (!bag.initEvents) {\n this.setupEvents(bag);\n }\n return bag;\n }\n\n find(name) {\n for (let i = 0; i < this.bags.length; i++) {\n if (this.bags[i].name === name) {\n return this.bags[i];\n }\n }\n return null;\n }\n\n destroy(name) {\n const bag = this.find(name);\n const i = this.bags.indexOf(bag);\n this.bags.splice(i, 1);\n bag.drake.destroy();\n }\n\n setOptions(name, options) {\n const bag = this.add(name, dragula(options));\n this.handleModels(name, bag.drake);\n }\n\n handleModels(name, drake) {\n let dragElm;\n let dragIndex;\n let dropIndex;\n let sourceModel;\n drake.on('remove', (el, source) => {\n if (!drake.models) {\n return;\n }\n sourceModel = drake.models[drake.containers.indexOf(source)];\n sourceModel.splice(dragIndex, 1);\n this.removeModel.emit([name, el, source]);\n });\n drake.on('drag', (el, source) => {\n dragElm = el;\n dragIndex = this.domIndexOf(el, source);\n });\n drake.on('drop', (dropElm, target, source) => {\n if (!drake.models) {\n return;\n }\n dropIndex = this.domIndexOf(dropElm, target);\n sourceModel = drake.models[drake.containers.indexOf(source)];\n if (target === source) {\n sourceModel.splice(dropIndex, 0, sourceModel.splice(dragIndex, 1)[0]);\n } else {\n const notCopy = dragElm === dropElm;\n const targetModel = drake.models[drake.containers.indexOf(target)];\n const dropElmModel = notCopy ? sourceModel[dragIndex] : JSON.parse(JSON.stringify(sourceModel[dragIndex]));\n\n if (notCopy) {\n sourceModel.splice(dragIndex, 1);\n }\n targetModel.splice(dropIndex, 0, dropElmModel);\n target.removeChild(dropElm); // element must be removed for ngFor to apply correctly\n }\n this.dropModel.emit([name, dropElm, target, source]);\n });\n }\n\n setupEvents(bag) {\n bag.initEvents = true;\n const that = this;\n const emitter = (type) => {\n function replicate() {\n const args = Array.prototype.slice.call(arguments);\n that[type].emit([bag.name].concat(args));\n }\n\n bag.drake.on(type, replicate);\n };\n this.events.forEach(emitter);\n }\n\n domIndexOf(child, parent) {\n return Array.prototype.indexOf.call(parent.children, child);\n }\n}\n","// NG2\nimport { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\n// Vendor\nimport dragula from '@bullhorn/dragula';\n// APP\nimport { notify } from 'novo-elements/utils';\nimport { NovoDragulaService } from './DragulaService';\n\n/**\n* @deprecated since v8.0.0 - slated for deletion.\n*\n* Moving away from all CommonJS dependencies to improve tree-shaking.\n*\n* Please look at built-in ng or third party drag-drop libraries like\n* angular-draggable-droppable, ngx-drag-drop, ngx-sortablejs, ng2-dragula.\n*/\n@Directive({\n selector: '[dragula]',\n})\nexport class NovoDragulaElement implements OnInit, OnChanges {\n @Input('dragula')\n bag: any;\n @Input()\n dragulaModel: any;\n drake: any = null;\n container: any;\n\n constructor(element: ElementRef, private dragulaService: NovoDragulaService) {\n notify('[dragula] has been deprecated - please look at built-in ng or third party drag-drop libraries instead');\n this.container = element.nativeElement;\n }\n\n ngOnInit() {\n const bag = this.dragulaService.find(this.bag);\n\n if (bag) {\n this.drake = bag.drake;\n this.checkModel();\n this.drake.containers.push(this.container);\n } else {\n this.drake = dragula({\n containers: [this.container],\n });\n this.checkModel();\n this.dragulaService.add(this.bag, this.drake);\n }\n }\n\n checkModel() {\n if (this.dragulaModel) {\n if (this.drake.models) {\n this.drake.models.push(this.dragulaModel);\n } else {\n this.drake.models = [this.dragulaModel];\n }\n }\n }\n\n ngOnChanges(changes) {\n if (changes && changes.dragulaModel) {\n if (this.drake) {\n if (this.drake.models) {\n const modelIndex = this.drake.models.indexOf(changes.dragulaModel.previousValue);\n this.drake.models.splice(modelIndex, 1, changes.dragulaModel.currentValue);\n } else {\n this.drake.models = [changes.dragulaModel.currentValue];\n }\n }\n }\n }\n}\n","// NG2\nimport { NgModule } from '@angular/core';\n// APP\nimport { NovoDragulaElement } from './Dragula';\n\n/**\n* @deprecated since v8.0.0 - slated for deletion.\n*\n* Moving away from all CommonJS dependencies to improve tree-shaking.\n*\n* Please look at built-in ng or third party drag-drop libraries like\n* angular-draggable-droppable, ngx-drag-drop, ngx-sortablejs, ng2-dragula.\n*/\n@NgModule({\n declarations: [NovoDragulaElement],\n exports: [NovoDragulaElement],\n})\nexport class NovoDragulaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NovoDragulaService"],"mappings":"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"}
|