@widgetic/editor 3.11.4 → 4.0.2
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/README.md +245 -0
- package/dist/assets/fonts.json +331 -0
- package/dist/assets/icons/ic-browser/audio.svg +7 -0
- package/dist/assets/icons/ic-browser/document.svg +11 -0
- package/dist/assets/icons/ic-browser/error.svg +5 -0
- package/dist/assets/icons/ic-browser/folder.svg +28 -0
- package/dist/assets/icons/ic-browser/player-pause.svg +1 -0
- package/dist/assets/icons/ic-browser/player-play.svg +1 -0
- package/dist/assets/icons/ic-browser/trash.svg +1 -0
- package/dist/assets/icons/ic-fixed-position/background-deselected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/background-selected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/bottom-left-background-deselected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/bottom-left-background-selected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/bottom-left-icon.svg +4 -0
- package/dist/assets/icons/ic-fixed-position/bottom-right-background-deselected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/bottom-right-background-selected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/bottom-right-icon.svg +4 -0
- package/dist/assets/icons/ic-fixed-position/center-bottom-icon.svg +5 -0
- package/dist/assets/icons/ic-fixed-position/center-center-icon.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/center-left-icon.svg +5 -0
- package/dist/assets/icons/ic-fixed-position/center-right-icon.svg +5 -0
- package/dist/assets/icons/ic-fixed-position/center-top-icon.svg +5 -0
- package/dist/assets/icons/ic-fixed-position/top-left-background-deselected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/top-left-background-selected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/top-left-icon.svg +4 -0
- package/dist/assets/icons/ic-fixed-position/top-right-background-deselected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/top-right-background-selected.svg +3 -0
- package/dist/assets/icons/ic-fixed-position/top-right-icon.svg +4 -0
- package/dist/assets/icons/trash.svg +1 -0
- package/dist/components/MockWidget.svelte +108 -0
- package/dist/components/MockWidget.svelte.d.ts +22 -0
- package/dist/components/WidgetPreview.svelte +852 -0
- package/dist/components/WidgetPreview.svelte.d.ts +100 -0
- package/dist/components/color-select/ColorSelect.svelte +258 -0
- package/dist/components/color-select/ColorSelect.svelte.d.ts +42 -0
- package/dist/components/color-select/color.d.ts +25 -0
- package/dist/components/color-select/color.js +21 -0
- package/dist/components/color-select/constants.d.ts +5 -0
- package/dist/components/color-select/constants.js +5 -0
- package/dist/components/color-select/render.d.ts +5 -0
- package/dist/components/color-select/render.js +77 -0
- package/dist/components/color-select/shaders.d.ts +3 -0
- package/dist/components/color-select/shaders.js +8 -0
- package/dist/components/editors/EmbedEditor.svelte +700 -0
- package/dist/components/editors/EmbedEditor.svelte.d.ts +50 -0
- package/dist/components/editors/PropsEditor.svelte +4009 -0
- package/dist/components/editors/PropsEditor.svelte.d.ts +62 -0
- package/dist/components/editors/props-editor.css +73 -0
- package/dist/components/ic/AngleInputController.svelte +276 -0
- package/dist/components/ic/AngleInputController.svelte.d.ts +26 -0
- package/dist/components/ic/BrowserInputController.svelte +731 -0
- package/dist/components/ic/BrowserInputController.svelte.d.ts +39 -0
- package/dist/components/ic/CheckboxInputController.svelte +203 -0
- package/dist/components/ic/CheckboxInputController.svelte.d.ts +41 -0
- package/dist/components/ic/ColorPickerInputController.svelte +1584 -0
- package/dist/components/ic/ColorPickerInputController.svelte.d.ts +50 -0
- package/dist/components/ic/DateFieldInputController.svelte +453 -0
- package/dist/components/ic/DateFieldInputController.svelte.d.ts +35 -0
- package/dist/components/ic/DatePickerInputController.svelte +364 -0
- package/dist/components/ic/DatePickerInputController.svelte.d.ts +28 -0
- package/dist/components/ic/DropdownInputController.svelte +226 -0
- package/dist/components/ic/DropdownInputController.svelte.d.ts +43 -0
- package/dist/components/ic/FixedPositionInputController.svelte +353 -0
- package/dist/components/ic/FixedPositionInputController.svelte.d.ts +23 -0
- package/dist/components/ic/FontInputController.svelte +2098 -0
- package/dist/components/ic/FontInputController.svelte.d.ts +47 -0
- package/dist/components/ic/InputControllerHeader.svelte +147 -0
- package/dist/components/ic/InputControllerHeader.svelte.d.ts +23 -0
- package/dist/components/ic/NumberControls.svelte +299 -0
- package/dist/components/ic/NumberControls.svelte.d.ts +30 -0
- package/dist/components/ic/NumberInputController.svelte +397 -0
- package/dist/components/ic/NumberInputController.svelte.d.ts +30 -0
- package/dist/components/ic/PositionInputController.svelte +252 -0
- package/dist/components/ic/PositionInputController.svelte.d.ts +37 -0
- package/dist/components/ic/RadioGroupInputController.svelte +162 -0
- package/dist/components/ic/RadioGroupInputController.svelte.d.ts +38 -0
- package/dist/components/ic/RangeCalendarInputController.svelte +262 -0
- package/dist/components/ic/RangeCalendarInputController.svelte.d.ts +32 -0
- package/dist/components/ic/RoundedCornersInputController.svelte +469 -0
- package/dist/components/ic/RoundedCornersInputController.svelte.d.ts +37 -0
- package/dist/components/ic/SliderInputController.svelte +411 -0
- package/dist/components/ic/SliderInputController.svelte.d.ts +46 -0
- package/dist/components/ic/SliderRangeInputController.svelte +155 -0
- package/dist/components/ic/SliderRangeInputController.svelte.d.ts +33 -0
- package/dist/components/ic/SwitchInputController.svelte +107 -0
- package/dist/components/ic/SwitchInputController.svelte.d.ts +24 -0
- package/dist/components/ic/TagsInputController.svelte +125 -0
- package/dist/components/ic/TagsInputController.svelte.d.ts +27 -0
- package/dist/components/ic/TextAreaInputController.svelte +1932 -0
- package/dist/components/ic/TextAreaInputController.svelte.d.ts +14 -0
- package/dist/components/ic/TextAreaPreviewInputController.svelte +478 -0
- package/dist/components/ic/TextAreaPreviewInputController.svelte.d.ts +28 -0
- package/dist/components/ic/TextInputController.svelte +70 -0
- package/dist/components/ic/TextInputController.svelte.d.ts +30 -0
- package/dist/components/ic/TimeInputController.svelte +434 -0
- package/dist/components/ic/TimeInputController.svelte.d.ts +25 -0
- package/dist/components/ic/VectorInputController.svelte +1826 -0
- package/dist/components/ic/VectorInputController.svelte.d.ts +47 -0
- package/dist/components/ic/index.d.ts +39 -0
- package/dist/components/ic/index.js +24 -0
- package/dist/components/ic/shared/CategoryTabs.svelte +40 -0
- package/dist/components/ic/shared/CategoryTabs.svelte.d.ts +25 -0
- package/dist/components/ic/shared/ItemGrid.svelte +181 -0
- package/dist/components/ic/shared/ItemGrid.svelte.d.ts +35 -0
- package/dist/components/ic/shared/RecentItemsSection.svelte +260 -0
- package/dist/components/ic/shared/RecentItemsSection.svelte.d.ts +35 -0
- package/dist/components/ic/shared/index.d.ts +8 -0
- package/dist/components/ic/shared/index.js +9 -0
- package/dist/components/icons/addnew.svelte +21 -0
- package/dist/components/icons/addnew.svelte.d.ts +20 -0
- package/dist/components/icons/drag.svelte +29 -0
- package/dist/components/icons/drag.svelte.d.ts +20 -0
- package/dist/components/icons/drag.svg +1 -0
- package/dist/components/icons/locked.svelte +4 -0
- package/dist/components/icons/locked.svelte.d.ts +26 -0
- package/dist/components/icons/locked.svg +4 -0
- package/dist/components/icons/ok.svelte +20 -0
- package/dist/components/icons/ok.svelte.d.ts +20 -0
- package/dist/components/icons/ok.svg +11 -0
- package/dist/components/icons/unlocked.svelte +4 -0
- package/dist/components/icons/unlocked.svelte.d.ts +26 -0
- package/dist/components/icons/unlocked.svg +4 -0
- package/dist/components/icons/x.svelte +14 -0
- package/dist/components/icons/x.svelte.d.ts +20 -0
- package/dist/components/icons/x.svg +5 -0
- package/dist/components/ui/arrows/OpacitySliderArrows.svelte +43 -0
- package/dist/components/ui/arrows/OpacitySliderArrows.svelte.d.ts +23 -0
- package/dist/components/ui/checkerboard-background/CheckerboardBackground.svelte +15 -0
- package/dist/components/ui/checkerboard-background/CheckerboardBackground.svelte.d.ts +20 -0
- package/dist/config.d.ts +11 -0
- package/dist/config.js +31 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +9 -0
- package/dist/stores/userSession.d.ts +7 -0
- package/dist/stores/userSession.js +28 -0
- package/dist/utils/FontManager.d.ts +278 -0
- package/dist/utils/FontManager.js +1302 -0
- package/dist/utils/MediaManager.d.ts +35 -0
- package/dist/utils/MediaManager.js +59 -0
- package/dist/utils/VectorManager.d.ts +190 -0
- package/dist/utils/VectorManager.js +754 -0
- package/dist/utils/colorAutocomplete.d.ts +10 -0
- package/dist/utils/colorAutocomplete.js +28 -0
- package/dist/utils/colorNames.d.ts +3 -0
- package/dist/utils/colorNames.js +152 -0
- package/dist/utils/colorTransparency.d.ts +52 -0
- package/dist/utils/colorTransparency.js +114 -0
- package/dist/utils/fontUtils.d.ts +34 -0
- package/dist/utils/fontUtils.js +132 -0
- package/dist/utils/passiveEvents.js +20 -0
- package/dist/utils/recentColors.d.ts +10 -0
- package/dist/utils/recentColors.js +63 -0
- package/dist/utils/skipFonts.d.ts +3 -0
- package/dist/utils/skipFonts.js +49 -0
- package/dist/utils/vectorUtils.d.ts +34 -0
- package/dist/utils/vectorUtils.js +71 -0
- package/dist/utils.d.ts +11 -0
- package/dist/utils.js +38 -0
- package/package.json +134 -74
- package/.babelrc +0 -10
- package/.bowerrc +0 -4
- package/.nvmrc +0 -1
- package/Gruntfile.coffee +0 -69
- package/bower.json +0 -28
- package/css/browser/entries/activateable.styl +0 -29
- package/css/browser/entries/audio.styl +0 -39
- package/css/browser/entries/folder.styl +0 -79
- package/css/browser/entries/image.styl +0 -26
- package/css/browser/entries/index.styl +0 -66
- package/css/browser/entries/rss.styl +0 -11
- package/css/browser/entries/video.styl +0 -11
- package/css/browser/index.styl +0 -86
- package/css/browser/intent/index.styl +0 -61
- package/css/browser/nav/index.styl +0 -73
- package/css/browser/social-browser.styl +0 -23
- package/css/controls/clock.styl +0 -110
- package/css/controls/config.styl +0 -6
- package/css/controls/control-audio-details.styl +0 -63
- package/css/controls/control-audio.styl +0 -28
- package/css/controls/control-browser.styl +0 -48
- package/css/controls/control-color.styl +0 -423
- package/css/controls/control-date_time.styl +0 -191
- package/css/controls/control-dropdown.styl +0 -79
- package/css/controls/control-font.styl +0 -147
- package/css/controls/control-image-details.styl +0 -35
- package/css/controls/control-image.styl +0 -43
- package/css/controls/control-order-picker.styl +0 -29
- package/css/controls/control-position.styl +0 -390
- package/css/controls/control-range.styl +0 -68
- package/css/controls/control-scale.styl +0 -30
- package/css/controls/control-slider.styl +0 -38
- package/css/controls/control-spinner.styl +0 -39
- package/css/controls/control-textarea.styl +0 -52
- package/css/controls/control-toggle.styl +0 -34
- package/css/controls/control-url.styl +0 -32
- package/css/controls/control-video-details.styl +0 -85
- package/css/controls/control-video.styl +0 -43
- package/css/controls/general.styl +0 -98
- package/css/controls/index.styl +0 -25
- package/css/editor/colors.styl +0 -7
- package/css/editor/content/directinput.styl +0 -47
- package/css/editor/content/index.styl +0 -111
- package/css/editor/content/message.styl +0 -53
- package/css/editor/content/tabs.styl +0 -75
- package/css/editor/copied-from-old-style.styl +0 -197
- package/css/editor/details/bulk-editor.styl +0 -104
- package/css/editor/details/index.styl +0 -21
- package/css/editor/details/item.styl +0 -153
- package/css/editor/embed.styl +0 -106
- package/css/editor/footer.styl +0 -180
- package/css/editor/full-editor.styl +0 -16
- package/css/editor/index.styl +0 -124
- package/css/editor/login-popup.styl +0 -13
- package/css/editor/preview.styl +0 -257
- package/css/editor/skin/editor/index.styl +0 -54
- package/css/editor/skin/editor/tabs.styl +0 -111
- package/css/editor/skin/index.styl +0 -138
- package/css/editor/skin/popup.styl +0 -152
- package/css/editor/skin/presets/dropdown.styl +0 -61
- package/css/editor/skin/presets/index.styl +0 -86
- package/css/editor/skin/presets/list.styl +0 -244
- package/css/editor/tooltips.styl +0 -85
- package/css/fonts.styl +0 -47
- package/css/icons/BlogvioEditor.dev.svg +0 -112
- package/css/icons.styl +0 -16
- package/css/img/arrow-right-rounded-v-small.png +0 -0
- package/css/img/browser-folder-separator.png +0 -0
- package/css/img/calendar-input-icons.png +0 -0
- package/css/img/check.png +0 -0
- package/css/img/close.png +0 -0
- package/css/img/composition/edit-icon.png +0 -0
- package/css/img/content/audio-icon.png +0 -0
- package/css/img/content/folder-icon.png +0 -0
- package/css/img/content/messages/error-background.png +0 -0
- package/css/img/content/messages/error-icon.png +0 -0
- package/css/img/content/messages/notification-background.png +0 -0
- package/css/img/content/messages/notification-icon.png +0 -0
- package/css/img/content/no-files-audio.png +0 -0
- package/css/img/content/no-files-image.png +0 -0
- package/css/img/content/no-files-video.png +0 -0
- package/css/img/content/no-files.png +0 -0
- package/css/img/content/rss-icon.png +0 -0
- package/css/img/content/selected.png +0 -0
- package/css/img/content/video-icon.png +0 -0
- package/css/img/content/with-control-text.png +0 -0
- package/css/img/control-dropdown-arrow.png +0 -0
- package/css/img/control-image-valid.png +0 -0
- package/css/img/control-position-icon.png +0 -0
- package/css/img/control-scale-lock-icon.png +0 -0
- package/css/img/control-slider-arrows-hover.png +0 -0
- package/css/img/control-slider-arrows.png +0 -0
- package/css/img/control-spinner-buttons-hover.png +0 -0
- package/css/img/control-spinner-buttons.png +0 -0
- package/css/img/control-textarea-bold-active.png +0 -0
- package/css/img/control-textarea-bold.png +0 -0
- package/css/img/control-textarea-italic-active.png +0 -0
- package/css/img/control-textarea-italic.png +0 -0
- package/css/img/control-textarea-underline-active.png +0 -0
- package/css/img/control-textarea-underline.png +0 -0
- package/css/img/custom-checkbox-sprite.png +0 -0
- package/css/img/details/item-collapse-icon.png +0 -0
- package/css/img/details/item-expand-icon.png +0 -0
- package/css/img/details/item-sort-icon.png +0 -0
- package/css/img/done-arrow.png +0 -0
- package/css/img/fb-logo-icon-w.png +0 -0
- package/css/img/grid-icons.png +0 -0
- package/css/img/icon-reference.png +0 -0
- package/css/img/indicator.png +0 -0
- package/css/img/loader.gif +0 -0
- package/css/img/loaders/audio-white.png +0 -0
- package/css/img/loaders/audio.png +0 -0
- package/css/img/loaders/photo-white.png +0 -0
- package/css/img/loaders/photo.png +0 -0
- package/css/img/loaders/util-white.png +0 -0
- package/css/img/loaders/util.png +0 -0
- package/css/img/loaders/video-white.png +0 -0
- package/css/img/loaders/video.png +0 -0
- package/css/img/maximize.png +0 -0
- package/css/img/minimize.png +0 -0
- package/css/img/next-btn.png +0 -0
- package/css/img/search-icon-sprite.png +0 -0
- package/css/img/services/blogvio.png +0 -0
- package/css/img/services/drive.png +0 -0
- package/css/img/services/dropbox-login.png +0 -0
- package/css/img/services/dropbox.png +0 -0
- package/css/img/services/facebook-login.png +0 -0
- package/css/img/services/facebook.png +0 -0
- package/css/img/services/flickr-login.png +0 -0
- package/css/img/services/flickr.png +0 -0
- package/css/img/services/instagram-login.png +0 -0
- package/css/img/services/instagram.png +0 -0
- package/css/img/services/text.png +0 -0
- package/css/img/services/uploads.png +0 -0
- package/css/img/services/uploads.svg +0 -689
- package/css/img/services/webaddress-bw.png +0 -0
- package/css/img/services/webaddress.png +0 -0
- package/css/img/services/webadress.png +0 -0
- package/css/img/services/websearch.png +0 -0
- package/css/img/services/wix.png +0 -0
- package/css/img/skin/item-active-indicator.png +0 -0
- package/css/img/skin/item-hover-icon.png +0 -0
- package/css/img/skin/overwrite.png +0 -0
- package/css/img/skin/popup-name-icon.png +0 -0
- package/css/img/skin/popup-save.png +0 -0
- package/css/img/skin/preset.png +0 -0
- package/css/img/skin/presets-arrow-purple.png +0 -0
- package/css/img/tw-icon-w.png +0 -0
- package/css/img/warning.png +0 -0
- package/css/img/white-rounded-check.png +0 -0
- package/css/index.styl +0 -9
- package/css/mixins.styl +0 -62
- package/css/scrollable.styl +0 -101
- package/karma.conf.js +0 -73
- package/lib/control.js +0 -1
- package/lib/controls.js +0 -1
- package/lib/core.editor.js +0 -4
- package/lib/core.js +0 -1
- package/lib/core.vendor.js +0 -3
- package/lib/dev/control.js +0 -845
- package/lib/dev/controls.js +0 -7774
- package/lib/dev/core.editor.js +0 -6439
- package/lib/dev/core.js +0 -1486
- package/lib/dev/core.vendor.js +0 -10708
- package/lib/dev/editor.css +0 -166
- package/lib/dev/editor.js +0 -29710
- package/lib/dev/editor.vendor.js +0 -15119
- package/lib/dev/jquery.nanoscroller.js.map +0 -10
- package/lib/editor.css +0 -167
- package/lib/editor.js +0 -49
- package/lib/editor.vendor.js +0 -11
- package/src/api/index.coffee +0 -23
- package/src/api/mixin.coffee +0 -89
- package/src/browser/controller/entry/audio.coffee +0 -38
- package/src/browser/controller/entry/button.coffee +0 -16
- package/src/browser/controller/entry/file.coffee +0 -35
- package/src/browser/controller/entry/folder.coffee +0 -14
- package/src/browser/controller/entry/image.coffee +0 -24
- package/src/browser/controller/entry/index.coffee +0 -18
- package/src/browser/controller/entry/rss.coffee +0 -5
- package/src/browser/controller/entry/video.coffee +0 -4
- package/src/browser/controller/index.coffee +0 -289
- package/src/browser/controller/instagram.coffee +0 -129
- package/src/browser/controller/navbar.coffee +0 -48
- package/src/browser/controller/social.coffee +0 -213
- package/src/browser/model/entry.coffee +0 -18
- package/src/browser/model/index.coffee +0 -34
- package/src/core/controller/font-loader.coffee +0 -65
- package/src/core/controller/lazyload.coffee +0 -14
- package/src/core/controller/overlay.coffee +0 -146
- package/src/core/controller/popup.coffee +0 -36
- package/src/core/controller/scrollable.coffee +0 -68
- package/src/core/controls/audio.coffee +0 -56
- package/src/core/controls/browser.coffee +0 -271
- package/src/core/controls/color.coffee +0 -121
- package/src/core/controls/date-time/calendar/index.coffee +0 -99
- package/src/core/controls/date-time/calendar/months.coffee +0 -52
- package/src/core/controls/date-time/calendar/years.coffee +0 -58
- package/src/core/controls/date-time/clock.coffee +0 -62
- package/src/core/controls/date-time/helper.coffee +0 -31
- package/src/core/controls/date-time/index.coffee +0 -62
- package/src/core/controls/date-time/popup.coffee +0 -56
- package/src/core/controls/details/audio.coffee +0 -33
- package/src/core/controls/details/image.coffee +0 -19
- package/src/core/controls/details/video.coffee +0 -14
- package/src/core/controls/dropdown.coffee +0 -100
- package/src/core/controls/font/font-item.coffee +0 -22
- package/src/core/controls/font/font-list.coffee +0 -108
- package/src/core/controls/font/fonts-popup.coffee +0 -91
- package/src/core/controls/font/index.coffee +0 -66
- package/src/core/controls/image.coffee +0 -37
- package/src/core/controls/index.coffee +0 -88
- package/src/core/controls/orderPicker.coffee +0 -93
- package/src/core/controls/position/grid-panel.coffee +0 -75
- package/src/core/controls/position/index.coffee +0 -98
- package/src/core/controls/position/panel.coffee +0 -68
- package/src/core/controls/position/pixel-panel.coffee +0 -54
- package/src/core/controls/position/popup.coffee +0 -63
- package/src/core/controls/position/reference-panel.coffee +0 -26
- package/src/core/controls/range.coffee +0 -191
- package/src/core/controls/rss.coffee +0 -16
- package/src/core/controls/scale.coffee +0 -78
- package/src/core/controls/slider.coffee +0 -122
- package/src/core/controls/stepper.coffee +0 -97
- package/src/core/controls/text.coffee +0 -54
- package/src/core/controls/textarea.coffee +0 -78
- package/src/core/controls/toggle.coffee +0 -29
- package/src/core/controls/url.coffee +0 -88
- package/src/core/controls/video.coffee +0 -9
- package/src/core/embed/api.js +0 -178
- package/src/core/embed/controller.js +0 -331
- package/src/core/models/composition.coffee +0 -178
- package/src/core/models/content.coffee +0 -79
- package/src/core/models/skin.coffee +0 -91
- package/src/core/models/user.coffee +0 -6
- package/src/core/models/widget.coffee +0 -88
- package/src/core/router/index.coffee +0 -44
- package/src/core/services/container/index.js +0 -18
- package/src/core/services/container/instance.js +0 -3
- package/src/core/services/content.js +0 -80
- package/src/core/services/instagram.coffee +0 -47
- package/src/core/services/mixin/events.js +0 -17
- package/src/core/services/service.js +0 -1
- package/src/core/services/sounds.js +0 -81
- package/src/core/services/uploads.js +0 -299
- package/src/core/utils/popup.coffee +0 -67
- package/src/core/utils/should-show.coffee +0 -12
- package/src/core/views/audio-details.pug +0 -9
- package/src/core/views/audio.pug +0 -7
- package/src/core/views/browser.pug +0 -4
- package/src/core/views/color.pug +0 -8
- package/src/core/views/date-time/calendar.pug +0 -3
- package/src/core/views/date-time/clock.pug +0 -12
- package/src/core/views/date-time/grid.pug +0 -6
- package/src/core/views/date-time/input.pug +0 -4
- package/src/core/views/date-time/table.pug +0 -6
- package/src/core/views/dropdown.pug +0 -9
- package/src/core/views/font/font-item.pug +0 -3
- package/src/core/views/font/fonts-list.pug +0 -7
- package/src/core/views/font/fonts-popup.pug +0 -5
- package/src/core/views/font/index.pug +0 -7
- package/src/core/views/image-details.pug +0 -6
- package/src/core/views/image.pug +0 -5
- package/src/core/views/input-layout.pug +0 -15
- package/src/core/views/order-items.pug +0 -7
- package/src/core/views/order-picker.pug +0 -7
- package/src/core/views/pixelpanel.pug +0 -69
- package/src/core/views/position.pug +0 -10
- package/src/core/views/range.pug +0 -9
- package/src/core/views/scale.pug +0 -7
- package/src/core/views/slider.pug +0 -6
- package/src/core/views/stepper.pug +0 -6
- package/src/core/views/text.pug +0 -4
- package/src/core/views/textarea.pug +0 -8
- package/src/core/views/toggle.pug +0 -5
- package/src/core/views/video-details.pug +0 -7
- package/src/core/views/video.pug +0 -4
- package/src/core/widget/index.coffee +0 -66
- package/src/editor/content/browser/dropzone.html +0 -268
- package/src/editor/content/browser/file.html +0 -124
- package/src/editor/content/browser/scroll-pane.html +0 -32
- package/src/editor/content/browser/service.html +0 -53
- package/src/editor/content/browser/upload.coffee +0 -44
- package/src/editor/content/browser/upload.html +0 -439
- package/src/editor/content/index.coffee +0 -294
- package/src/editor/content/input/field.coffee +0 -45
- package/src/editor/content/input/index.coffee +0 -115
- package/src/editor/content/service/base/photoitem.coffee +0 -49
- package/src/editor/content/service/cache.coffee +0 -20
- package/src/editor/content/service/default.coffee +0 -59
- package/src/editor/content/service/dropbox.coffee +0 -71
- package/src/editor/content/service/facebook.coffee +0 -143
- package/src/editor/content/service/flickr.coffee +0 -85
- package/src/editor/content/service/google-drive-sdk.coffee +0 -18
- package/src/editor/content/service/google-drive.coffee +0 -144
- package/src/editor/content/service/instagram-social.coffee +0 -84
- package/src/editor/content/service/instagram.coffee +0 -168
- package/src/editor/content/service/share-popup.coffee +0 -15
- package/src/editor/content/service/soundcloud.coffee +0 -163
- package/src/editor/content/tab.coffee +0 -27
- package/src/editor/details/bulk-editor/attributes-panel.coffee +0 -11
- package/src/editor/details/bulk-editor/index.coffee +0 -86
- package/src/editor/details/index.coffee +0 -156
- package/src/editor/details/item/attributes.coffee +0 -45
- package/src/editor/details/item/index.coffee +0 -82
- package/src/editor/editor.coffee +0 -274
- package/src/editor/footer/breadcrumb.coffee +0 -17
- package/src/editor/footer/index.coffee +0 -36
- package/src/editor/index.coffee +0 -79
- package/src/editor/listeners/embed-listener.coffee +0 -143
- package/src/editor/login-popup.coffee +0 -29
- package/src/editor/notification-controller.coffee +0 -35
- package/src/editor/popup.coffee +0 -68
- package/src/editor/remote-preview.coffee +0 -68
- package/src/editor/save/index.coffee +0 -62
- package/src/editor/skin/delete.coffee +0 -33
- package/src/editor/skin/editor/index.coffee +0 -188
- package/src/editor/skin/editor/panel.coffee +0 -37
- package/src/editor/skin/index.coffee +0 -126
- package/src/editor/skin/save.coffee +0 -58
- package/src/editor/skin/selector/index.coffee +0 -59
- package/src/editor/skin/selector/item.coffee +0 -123
- package/src/editor/skin/selector/list.coffee +0 -97
- package/src/editor/views/embed.pug +0 -10
- package/src/editor/views/loginbutton.pug +0 -8
- package/src/editor/views/popup.pug +0 -17
- package/src/editor/views/presets.pug +0 -8
- package/src/editor/views/presetslist-header.pug +0 -8
- package/src/editor/views/skinitem.pug +0 -13
- package/src/modules/control.js +0 -3
- package/src/modules/controls.js +0 -29
- package/src/modules/core.js +0 -19
- package/src/modules/editor.js +0 -80
- package/test/config.js +0 -3
- package/test/core/models/skin-spec.js +0 -209
- package/webpack.config.js +0 -46
- package/webpack.config.prod.js +0 -9
- /package/{src/core/views/date-time/popup.pug → dist/utils/passiveEvents.d.ts} +0 -0
package/src/editor/editor.coffee
DELETED
|
@@ -1,274 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Tabs = window.require 'spine/controller/tabs'
|
|
4
|
-
|
|
5
|
-
ContentModel = window.require 'core/models/content'
|
|
6
|
-
SkinModel = window.require 'core/models/skin'
|
|
7
|
-
Composition = window.require 'core/models/composition'
|
|
8
|
-
WidgetModel = window.require 'core/models/widget'
|
|
9
|
-
|
|
10
|
-
Skin = require './skin'
|
|
11
|
-
Content = require './content'
|
|
12
|
-
Details = require './details'
|
|
13
|
-
Save = require './save'
|
|
14
|
-
Footer = require './footer'
|
|
15
|
-
|
|
16
|
-
timestamp = window.require 'spine/utils/timestamp'
|
|
17
|
-
|
|
18
|
-
LoginPopup = require './login-popup'
|
|
19
|
-
|
|
20
|
-
class WidgetEditor extends Tabs
|
|
21
|
-
tabContainer : require './footer'
|
|
22
|
-
tabRenderer : require './footer/breadcrumb'
|
|
23
|
-
className : 'editor'
|
|
24
|
-
tabContainerClass : 'editor-footer'
|
|
25
|
-
containerClass : 'editor-container'
|
|
26
|
-
|
|
27
|
-
###
|
|
28
|
-
DOM Events and their handlers
|
|
29
|
-
###
|
|
30
|
-
events:
|
|
31
|
-
'viewChange': '_onViewChange'
|
|
32
|
-
'Footer:step': '_onStep'
|
|
33
|
-
'Breadcrumb:step': '_onStep'
|
|
34
|
-
'Save:close': '_onSaveClose'
|
|
35
|
-
'DetailsEditor:empty': '_onDetailsEditorEmpty'
|
|
36
|
-
'editor:content:notification': '_onContentNotification'
|
|
37
|
-
'editor:content:browserState': '_onContentBrowserState'
|
|
38
|
-
|
|
39
|
-
###
|
|
40
|
-
A list of Controllers that should be created in this TabsController
|
|
41
|
-
###
|
|
42
|
-
controllers:
|
|
43
|
-
'skin': Skin
|
|
44
|
-
'content': Content
|
|
45
|
-
'details': Details
|
|
46
|
-
'save': Save
|
|
47
|
-
|
|
48
|
-
###
|
|
49
|
-
An object containing associations between the step name and the step
|
|
50
|
-
controller reference
|
|
51
|
-
###
|
|
52
|
-
steps:
|
|
53
|
-
'skin': 'skin'
|
|
54
|
-
'edit_skin':'skin'
|
|
55
|
-
'theme': 'skin'
|
|
56
|
-
'content': 'content'
|
|
57
|
-
'details': 'details'
|
|
58
|
-
'done': 'save'
|
|
59
|
-
|
|
60
|
-
###
|
|
61
|
-
Collection of validation functions for displaying editors
|
|
62
|
-
|
|
63
|
-
Each function is ran before trying to activate an editor.
|
|
64
|
-
###
|
|
65
|
-
stepValidators:
|
|
66
|
-
'skin': ->
|
|
67
|
-
return console.warn 'No composition set' unless @composition
|
|
68
|
-
return true
|
|
69
|
-
'edit_skin': -> @stepValidators['skin'].call(@) and !@canEditSkin? or @canEditSkin
|
|
70
|
-
'theme': -> @stepValidators['skin'].call(@)
|
|
71
|
-
'content': ->
|
|
72
|
-
return false unless @stepValidators['skin'].call @
|
|
73
|
-
if @hasPendingChange()
|
|
74
|
-
@initSave()
|
|
75
|
-
@step 'skin'
|
|
76
|
-
return false
|
|
77
|
-
return true
|
|
78
|
-
'details': ->
|
|
79
|
-
return false unless @stepValidators.content.call @
|
|
80
|
-
unless @composition.hasEnoughContent()
|
|
81
|
-
@content.notificator.notify @composition.validateLength().errorMsg
|
|
82
|
-
@step 'content'
|
|
83
|
-
return false
|
|
84
|
-
return true
|
|
85
|
-
'done': ->
|
|
86
|
-
return false unless @stepValidators['details'].call @
|
|
87
|
-
return true
|
|
88
|
-
|
|
89
|
-
###
|
|
90
|
-
Creates the embedded Editors, Navigation and binds events
|
|
91
|
-
###
|
|
92
|
-
constructor: ->
|
|
93
|
-
timestamp 'WidgetEditor:constructor'
|
|
94
|
-
super
|
|
95
|
-
@children (child) => child.setPremium? @premium
|
|
96
|
-
@refreshElements()
|
|
97
|
-
@el.append @tabs.el
|
|
98
|
-
LoginPopup.place @el
|
|
99
|
-
Blogvio.pubsub.subscribe 'api/token/update', @_updateLoggedInStatus
|
|
100
|
-
|
|
101
|
-
@el.attr('editorVersion', VERSION)
|
|
102
|
-
|
|
103
|
-
###
|
|
104
|
-
Initializes all embbedded Editors to work on a composition
|
|
105
|
-
Starts waiting for all of the `initialized` events
|
|
106
|
-
Navigates to the 'skin' step
|
|
107
|
-
###
|
|
108
|
-
for: (composition) ->
|
|
109
|
-
timestamp 'WidgetEditor:for'
|
|
110
|
-
@initialize(composition)
|
|
111
|
-
@skin.for(@composition)
|
|
112
|
-
@content.for(@composition)
|
|
113
|
-
@details.for(@composition)
|
|
114
|
-
@save.for(@composition)
|
|
115
|
-
@
|
|
116
|
-
|
|
117
|
-
initialize: (composition) ->
|
|
118
|
-
timestamp 'WidgetEditor:initialize'
|
|
119
|
-
@stopListening(@composition)
|
|
120
|
-
@composition = composition
|
|
121
|
-
|
|
122
|
-
@_waitForInit()
|
|
123
|
-
|
|
124
|
-
@_updatePersistedStatus()
|
|
125
|
-
@_updateLoggedInStatus()
|
|
126
|
-
|
|
127
|
-
@listenTo @composition, 'validateLength', @_onValidateLength
|
|
128
|
-
@composition.validateLength()
|
|
129
|
-
|
|
130
|
-
$(window).on 'beforeunload', @onBeforeUnload
|
|
131
|
-
|
|
132
|
-
###
|
|
133
|
-
Tests if there are any pending (unsaved) changes in the editors
|
|
134
|
-
###
|
|
135
|
-
hasPendingChange: -> @skin.hasPendingChange()
|
|
136
|
-
|
|
137
|
-
###
|
|
138
|
-
Initializes the save dialog when there is a pending change
|
|
139
|
-
###
|
|
140
|
-
initSave: -> @skin.initSave()
|
|
141
|
-
|
|
142
|
-
###
|
|
143
|
-
Jump to a step (one of the editors)
|
|
144
|
-
###
|
|
145
|
-
step: (step) ->
|
|
146
|
-
return console.warn "The editor does not have the #{step} step." unless @steps[step]
|
|
147
|
-
stepController = @[@steps[step]]
|
|
148
|
-
stepController.active step if @stepValidators[step].call @
|
|
149
|
-
@_updatePersistedStatus()
|
|
150
|
-
|
|
151
|
-
selectSkin: (skin, force = true) -> @skin.select(skin, force)
|
|
152
|
-
|
|
153
|
-
###
|
|
154
|
-
Event Handler for step navigation events
|
|
155
|
-
###
|
|
156
|
-
_onStep: (ev, step) ->
|
|
157
|
-
@step(step)
|
|
158
|
-
@$trigger 'step:intent', {step, skin_pending: @hasPendingChange(), content: @composition.hasEnoughContent()}
|
|
159
|
-
|
|
160
|
-
###
|
|
161
|
-
Event Handler for the Composition `validateLength` event
|
|
162
|
-
|
|
163
|
-
Updates the `minValid` and `maxValid` attributes on the editor DOM element
|
|
164
|
-
Used for styling based on the validation state
|
|
165
|
-
###
|
|
166
|
-
_onValidateLength: (_, valid, error) =>
|
|
167
|
-
return unless @composition
|
|
168
|
-
@el.attr minValid: valid or error isnt 'min', maxValid: valid or error isnt 'max'
|
|
169
|
-
|
|
170
|
-
_updatePersistedStatus: =>
|
|
171
|
-
@el.attr 'persisted-comp', @composition.isPersisted()
|
|
172
|
-
|
|
173
|
-
_updateLoggedInStatus: =>
|
|
174
|
-
# timestamp 'WidgetEditor:_updateLoggedInStatus'
|
|
175
|
-
|
|
176
|
-
status = Blogvio.auth.status()
|
|
177
|
-
isConnected = status.status is 'connected'
|
|
178
|
-
|
|
179
|
-
@el.toggleClass('anonymous-user', !isConnected)
|
|
180
|
-
|
|
181
|
-
###
|
|
182
|
-
Event Handler for the `viewChange` events launched by the editors
|
|
183
|
-
|
|
184
|
-
Updates the `current-view` attribute on the editor DOM element
|
|
185
|
-
Used for styling based on the current view
|
|
186
|
-
###
|
|
187
|
-
_onViewChange: (ev, view) =>
|
|
188
|
-
@el.attr 'current-view', view
|
|
189
|
-
|
|
190
|
-
###
|
|
191
|
-
Binds event listeners for the Editors' `initialized` event
|
|
192
|
-
###
|
|
193
|
-
_waitForInit: =>
|
|
194
|
-
@initCount = 0
|
|
195
|
-
@listenToOnce @skin, 'initialized', @_onInitialized
|
|
196
|
-
@listenToOnce @content, 'initialized', @_onInitialized
|
|
197
|
-
@listenToOnce @details, 'initialized', @_onInitialized
|
|
198
|
-
|
|
199
|
-
###
|
|
200
|
-
Event Handler for the Editors `initialized` event
|
|
201
|
-
|
|
202
|
-
Triggers the WidgetEditor `initialized` event when all of
|
|
203
|
-
the embbedded editors have finised initalization.
|
|
204
|
-
TODO: check if this still works
|
|
205
|
-
###
|
|
206
|
-
_onInitialized: =>
|
|
207
|
-
return if ++@initCount isnt 3
|
|
208
|
-
|
|
209
|
-
@trigger 'initialized'
|
|
210
|
-
|
|
211
|
-
###
|
|
212
|
-
Event Handler for the `editor:content:notification` event
|
|
213
|
-
###
|
|
214
|
-
_onContentNotification: (ev, options) ->
|
|
215
|
-
@el.attr 'notification-visible', options.show
|
|
216
|
-
|
|
217
|
-
###
|
|
218
|
-
Event Handler for the `editor:content:browserState` event
|
|
219
|
-
###
|
|
220
|
-
_onContentBrowserState: (ev, options) ->
|
|
221
|
-
@el.attr 'content-browser-service', options.service
|
|
222
|
-
@el.attr 'content-browser-auth', options.authenticated
|
|
223
|
-
|
|
224
|
-
###
|
|
225
|
-
Event Handler for the `DetailsEditor:empty` event
|
|
226
|
-
|
|
227
|
-
Navigate to the content editor when there is no content to
|
|
228
|
-
display in the details editor
|
|
229
|
-
###
|
|
230
|
-
_onDetailsEditorEmpty: -> @step 'content'
|
|
231
|
-
|
|
232
|
-
###
|
|
233
|
-
Event Handler for the `Save:close` event
|
|
234
|
-
|
|
235
|
-
Navigate to the details editor when the save editor's login
|
|
236
|
-
popup is closed
|
|
237
|
-
###
|
|
238
|
-
_onSaveClose: -> @step 'details'
|
|
239
|
-
|
|
240
|
-
setOptions: do ->
|
|
241
|
-
_methods = {
|
|
242
|
-
'skin_editor', 'step', 'navigation'
|
|
243
|
-
'skin':'selectSkin'
|
|
244
|
-
'composition':'setCompositionName'
|
|
245
|
-
'sources': 'addContentSources'
|
|
246
|
-
'active_source': 'activateSource'
|
|
247
|
-
}
|
|
248
|
-
(opts = {}) -> @[_fn]? params for prop, _fn of _methods when params = opts[prop]
|
|
249
|
-
|
|
250
|
-
navigation: (opts) =>
|
|
251
|
-
@el.attr 'data-steps', opts.steps.join ' ' if opts.steps?
|
|
252
|
-
@tabs.setOptions arguments...
|
|
253
|
-
|
|
254
|
-
skin_editor: (opts = {}) =>
|
|
255
|
-
@canEditSkin = opts.enabled if opts.enabled?
|
|
256
|
-
@skin.setOptions opts
|
|
257
|
-
|
|
258
|
-
addContentSources: (sources = {}) ->
|
|
259
|
-
@content.addBrowser source, sourceName for sourceName, source of sources
|
|
260
|
-
|
|
261
|
-
setCompositionName: (opts = {}) =>
|
|
262
|
-
@composition.name = opts.name if opts.name?
|
|
263
|
-
|
|
264
|
-
activateSource: (source) =>
|
|
265
|
-
@content.focusBrowser source
|
|
266
|
-
|
|
267
|
-
release: ->
|
|
268
|
-
@_release @
|
|
269
|
-
super
|
|
270
|
-
|
|
271
|
-
onBeforeUnload: =>
|
|
272
|
-
return 'There are some unsaved changes!' if @hasPendingChange()
|
|
273
|
-
|
|
274
|
-
module.exports = WidgetEditor
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
Controller = window.require 'spine/controller'
|
|
2
|
-
Activateable = window.require 'spine/controller/activateable'
|
|
3
|
-
class Breadcrumb extends Controller
|
|
4
|
-
@include Activateable
|
|
5
|
-
tag:'a'
|
|
6
|
-
events:
|
|
7
|
-
'click':'click'
|
|
8
|
-
|
|
9
|
-
render: =>
|
|
10
|
-
@$addClass(@panel.title.toLowerCase()).html(@panel.title)
|
|
11
|
-
@
|
|
12
|
-
|
|
13
|
-
click: ->
|
|
14
|
-
@$trigger 'Breadcrumb:step', @panel.title.toLowerCase()
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
module.exports = Breadcrumb
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
Activator = window.require 'spine/controller/activator'
|
|
2
|
-
Content = window.require 'core/models/content'
|
|
3
|
-
Composition = window.require 'core/models/composition'
|
|
4
|
-
class Footer extends Activator
|
|
5
|
-
className : 'editor-footer'
|
|
6
|
-
containerClass : 'editor-breadcrumbs'
|
|
7
|
-
events:
|
|
8
|
-
'click .editor-next-btn':'getStep'
|
|
9
|
-
'click .editor-prev-btn':'getStep'
|
|
10
|
-
|
|
11
|
-
init: =>
|
|
12
|
-
@prevBtn = $ "<div class='editor-prev-btn' data-dir='prev'>prev</div>"
|
|
13
|
-
@nextBtn = $ "<div class='editor-next-btn' data-dir='next'></div>"
|
|
14
|
-
@append @prevBtn, @nextBtn
|
|
15
|
-
super
|
|
16
|
-
|
|
17
|
-
getStep: (e) ->
|
|
18
|
-
currentStep = @children( (i)->i.isActive() )[0]
|
|
19
|
-
return unless currentStep
|
|
20
|
-
desiredStep = currentStep.el[($ e.target).data('dir')]().controller().panel.title.toLowerCase()
|
|
21
|
-
@$trigger 'Footer:step', desiredStep
|
|
22
|
-
|
|
23
|
-
_active:(@ctrl)=>
|
|
24
|
-
super
|
|
25
|
-
@prevBtn.toggleClass 'disabled', !@ctrl.el.prev().controller()?
|
|
26
|
-
|
|
27
|
-
setOptions: (opts) =>
|
|
28
|
-
@el.toggle opts.enabled if opts.enabled?
|
|
29
|
-
return unless opts.steps
|
|
30
|
-
|
|
31
|
-
@children (ch) ->
|
|
32
|
-
ch.el.remove() unless ch.panel.title.toLowerCase() in opts.steps
|
|
33
|
-
|
|
34
|
-
@_active @ctrl
|
|
35
|
-
|
|
36
|
-
module.exports = Footer
|
package/src/editor/index.coffee
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
Controller = window.require 'spine/controller'
|
|
2
|
-
Container = window.require 'spine/controller/container'
|
|
3
|
-
|
|
4
|
-
WidgetEditor = require './editor'
|
|
5
|
-
RemotePreview = require './remote-preview'
|
|
6
|
-
Widget = window.require 'core/models/widget'
|
|
7
|
-
Composition = window.require 'core/models/composition'
|
|
8
|
-
Skin = window.require 'core/models/skin'
|
|
9
|
-
Content = window.require 'core/models/content'
|
|
10
|
-
|
|
11
|
-
class Editor extends Controller
|
|
12
|
-
@include Container
|
|
13
|
-
@VERSION: '1.9.24'
|
|
14
|
-
|
|
15
|
-
events:
|
|
16
|
-
'SkinItem:selected': '_onSkinItemSelected'
|
|
17
|
-
|
|
18
|
-
constructor: (options) ->
|
|
19
|
-
if !options.remote then throw new Error('Remote UI.composition is missing!')
|
|
20
|
-
if !options.premium then options.premium = false
|
|
21
|
-
super
|
|
22
|
-
|
|
23
|
-
@preview = new RemotePreview(@remote)
|
|
24
|
-
@editor = new WidgetEditor({@premium})
|
|
25
|
-
@append @editor
|
|
26
|
-
$('html').toggleClass('isTouch', !!("undefined" != typeof document.documentElement.ontouchstart))
|
|
27
|
-
|
|
28
|
-
hasPendingChange: -> @editor.hasPendingChange()
|
|
29
|
-
|
|
30
|
-
initSave: -> @editor.initSave()
|
|
31
|
-
|
|
32
|
-
new: (widget_id) ->
|
|
33
|
-
@preview.startLoading()
|
|
34
|
-
Widget.load(widget_id)
|
|
35
|
-
.then(@_newComposition)
|
|
36
|
-
.then(@_initialize)
|
|
37
|
-
.then(=> @setOptions())
|
|
38
|
-
.fail((e) -> console.error(e))
|
|
39
|
-
|
|
40
|
-
edit: (composition_id) ->
|
|
41
|
-
Composition.load(composition_id)
|
|
42
|
-
.then(@_editComposition)
|
|
43
|
-
.then(@_initialize)
|
|
44
|
-
.then(=> @setOptions())
|
|
45
|
-
.fail((e) -> console.error(e))
|
|
46
|
-
|
|
47
|
-
step: -> @editor.step arguments...
|
|
48
|
-
|
|
49
|
-
selectSkin: (skin) -> @editor.selectSkin(skin)
|
|
50
|
-
|
|
51
|
-
_newComposition: (@widget) =>
|
|
52
|
-
@composition = new Composition
|
|
53
|
-
widget_id: @widget.id
|
|
54
|
-
width: @widget.width
|
|
55
|
-
height: @widget.height
|
|
56
|
-
|
|
57
|
-
@composition.save({ajax:false})
|
|
58
|
-
|
|
59
|
-
_editComposition: (@composition) =>
|
|
60
|
-
@widget = @composition.getWidget()
|
|
61
|
-
|
|
62
|
-
_initialize: =>
|
|
63
|
-
@editor.for @composition
|
|
64
|
-
@preview.load @composition
|
|
65
|
-
|
|
66
|
-
_onSkinItemSelected: (ev, skin) =>
|
|
67
|
-
@trigger('skin:select', skin)
|
|
68
|
-
@preview.setSkin(skin)
|
|
69
|
-
|
|
70
|
-
setInitOptions: (@initOptions) ->
|
|
71
|
-
|
|
72
|
-
setOptions: (opts) -> @editor.setOptions $.extend step: 'skin', opts or @initOptions
|
|
73
|
-
|
|
74
|
-
release: ->
|
|
75
|
-
@_release @
|
|
76
|
-
@preview.release()
|
|
77
|
-
super
|
|
78
|
-
|
|
79
|
-
module.exports = Editor
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
send = (message) ->
|
|
2
|
-
(window.opener or window.parent).postMessage(JSON.stringify(message), '*')
|
|
3
|
-
|
|
4
|
-
id = window.location.hash.replace('#', '')
|
|
5
|
-
initOptions = {}
|
|
6
|
-
_authToken = null
|
|
7
|
-
|
|
8
|
-
messenger = {
|
|
9
|
-
load: -> send({t: 'w', id: id})
|
|
10
|
-
notify: (ev, data) ->
|
|
11
|
-
ev = ev.type || ev
|
|
12
|
-
send(t: 'ee', id: id, d: data, e: ev)
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
loadScript = (url, callback) ->
|
|
16
|
-
head = document.getElementsByTagName('head')[0]
|
|
17
|
-
script = document.createElement('script')
|
|
18
|
-
script.type = 'text/javascript'
|
|
19
|
-
script.src = url
|
|
20
|
-
|
|
21
|
-
script.onreadystatechange = callback
|
|
22
|
-
script.onload = callback
|
|
23
|
-
|
|
24
|
-
head.appendChild(script)
|
|
25
|
-
|
|
26
|
-
# A function to be called when the composition iframe is ready
|
|
27
|
-
ready = (_, data = {}) ->
|
|
28
|
-
# get the composition iframe by id
|
|
29
|
-
preview = data.preview or data.source.frames[id]
|
|
30
|
-
# console.log("ready preview:", preview);
|
|
31
|
-
return unless preview
|
|
32
|
-
preview.Blogvio.auth.token _authToken
|
|
33
|
-
window.require._require.push preview.require
|
|
34
|
-
|
|
35
|
-
# initialize the Blogvio.api relay
|
|
36
|
-
{composition, widget, user} = preview.getData()
|
|
37
|
-
if !user then user = {
|
|
38
|
-
"id": "591bf4ecd85c6d076c787001",
|
|
39
|
-
"premium": false,
|
|
40
|
-
"upload_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI1OTFiZjRlY2Q4NWM2ZDA3NmM3ODcwMDEiLCJjb250ZXh0Ijp7ImlkIjoiYXBwIiwibmFtZSI6ImFwcCJ9LCJtYXhRdW90YSI6MTAwMDAwMDAwMCwiYXVkIjoiZmlsZS11cGxvYWQiLCJleHAiOjE2MjI2MjY4NTF9.Hg_6L3taBamqc9hkxk9cMWh3HihwyvtMzev_K384xPE"
|
|
41
|
-
}
|
|
42
|
-
# console.log("ready user:", user);
|
|
43
|
-
|
|
44
|
-
initEditor composition, widget, preview, user
|
|
45
|
-
|
|
46
|
-
initEditor = (composition, widget, remote, user) ->
|
|
47
|
-
($body = $ 'body').toggleClass 'is-popup', !!window.opener
|
|
48
|
-
Editor = require("../index")
|
|
49
|
-
premium = user?.premium || false
|
|
50
|
-
|
|
51
|
-
Container = require('../../core/services/container').default
|
|
52
|
-
# console.log("Init Editor:", user);
|
|
53
|
-
Container.init({
|
|
54
|
-
user,
|
|
55
|
-
uploadToken: user?.upload_token || ''
|
|
56
|
-
})
|
|
57
|
-
|
|
58
|
-
window.editor = new Editor {
|
|
59
|
-
el: $body,
|
|
60
|
-
remote, initOptions, premium
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
if composition
|
|
64
|
-
editor.edit(composition.id)
|
|
65
|
-
.then(notifyInit)
|
|
66
|
-
.fail((e) -> console.log(e.stack))
|
|
67
|
-
else
|
|
68
|
-
editor.new(widget.id)
|
|
69
|
-
.then(notifyInit)
|
|
70
|
-
.fail((e) -> console.log(e.stack))
|
|
71
|
-
|
|
72
|
-
editor.bind('skin:select', (skin) -> messenger.notify('skin:select', skin))
|
|
73
|
-
editor.$bind('skin:save', (_, skin) -> messenger.notify('skin:save', skin))
|
|
74
|
-
editor.$bind('skin:destroy', (_, skin) -> messenger.notify('skin:destroy', skin))
|
|
75
|
-
editor.$bind('composition:save', messenger.notify)
|
|
76
|
-
editor.$bind('composition:temporary:save', messenger.notify)
|
|
77
|
-
editor.$bind('content:auth-req', messenger.notify)
|
|
78
|
-
editor.$bind('step:intent', messenger.notify)
|
|
79
|
-
editor.$bind('Control:upgrade', messenger.notify)
|
|
80
|
-
editor.$bind('Content:upgrade', messenger.notify)
|
|
81
|
-
|
|
82
|
-
$(window).on 'unload', window.editor.release.bind editor
|
|
83
|
-
|
|
84
|
-
return editor
|
|
85
|
-
|
|
86
|
-
notifyInit = ->
|
|
87
|
-
messenger.notify('editor:init')
|
|
88
|
-
|
|
89
|
-
# relay mouse and keyboard events to the parent frame
|
|
90
|
-
eventToObject = (event) ->
|
|
91
|
-
res = {}
|
|
92
|
-
for key, value of event
|
|
93
|
-
continue if typeof value is 'object'
|
|
94
|
-
res[key] = value
|
|
95
|
-
return res
|
|
96
|
-
|
|
97
|
-
relayEvent = (ev) ->
|
|
98
|
-
Widgetic.Event.on window, ev, (ev) ->
|
|
99
|
-
messenger.notify Widgetic.UI.Editor.RELAY, eventToObject(ev)
|
|
100
|
-
|
|
101
|
-
# Adds postMessage event listeners and notifies that the editor
|
|
102
|
-
# iframe is ready
|
|
103
|
-
run = ->
|
|
104
|
-
receivers = {
|
|
105
|
-
'ready': ready
|
|
106
|
-
'step': (e) -> window.editor.step(e.d)
|
|
107
|
-
'token': (e) ->
|
|
108
|
-
if e.d
|
|
109
|
-
Blogvio.auth.token(_authToken = e.d)
|
|
110
|
-
window.editor?.preview.remote.Blogvio.auth.token _authToken
|
|
111
|
-
else Blogvio.auth.disconnect()
|
|
112
|
-
'cont': (e) ->
|
|
113
|
-
window.editor.el.trigger "content:#{e.d.source}:add", items: e.d.data
|
|
114
|
-
'opts': (e) ->
|
|
115
|
-
return initOptions = e.d unless window.editor
|
|
116
|
-
if window.editor.composition then window.editor.setOptions e.d else window.editor.setInitOptions e.d
|
|
117
|
-
'ree': (e) -> relayEvent(e.d)
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
wl = window.location
|
|
121
|
-
lo = decodeURIComponent (wl.search.match(/(?:lo=)([^\#\&$]*)/) or [0,wl.origin])[1]
|
|
122
|
-
receiver = (event) ->
|
|
123
|
-
return unless event.origin is lo
|
|
124
|
-
try
|
|
125
|
-
data = JSON.parse(event.data)
|
|
126
|
-
receivers[data.t]?(data, source: event.source)
|
|
127
|
-
catch e
|
|
128
|
-
debugger if window.localStorage?.debug_on_error
|
|
129
|
-
console.error e.stack
|
|
130
|
-
return
|
|
131
|
-
|
|
132
|
-
Blogvio.Event.on window, 'load', ->
|
|
133
|
-
# bind listener for `message`
|
|
134
|
-
Blogvio.Event.on(window, 'message', receiver)
|
|
135
|
-
|
|
136
|
-
# notify load
|
|
137
|
-
messenger.load()
|
|
138
|
-
|
|
139
|
-
# on window unload release the editor and restore the preview
|
|
140
|
-
Blogvio.Event.on window, 'unload', ->
|
|
141
|
-
window.editor.release()
|
|
142
|
-
|
|
143
|
-
module.exports = {run, ready}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
Popup = require './popup'
|
|
2
|
-
|
|
3
|
-
class LoginPopup extends Popup
|
|
4
|
-
className: 'popup login-popup'
|
|
5
|
-
|
|
6
|
-
confirmBtnClass: 'dim-button button--uc login-button'
|
|
7
|
-
cancelBtnClass: 'green-button button--uc button--icon-right button--go register-button'
|
|
8
|
-
title: 'Login or sign up.'
|
|
9
|
-
content: ''
|
|
10
|
-
note: ''
|
|
11
|
-
separator: false
|
|
12
|
-
confirmBtn: 'Log in'
|
|
13
|
-
cancelBtn: 'Sign up free'
|
|
14
|
-
|
|
15
|
-
setTitle: (title = 'Login or sign up.') ->
|
|
16
|
-
@title = title
|
|
17
|
-
@render @
|
|
18
|
-
@
|
|
19
|
-
|
|
20
|
-
place: (place) ->
|
|
21
|
-
@pop = @pop.bind @, place
|
|
22
|
-
|
|
23
|
-
onConfirm: ->
|
|
24
|
-
@$trigger 'login-intent'
|
|
25
|
-
|
|
26
|
-
onCancel: ->
|
|
27
|
-
@$trigger 'signup-intent'
|
|
28
|
-
|
|
29
|
-
module.exports = new LoginPopup
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
class NotificationController
|
|
2
|
-
className: 'message notification'
|
|
3
|
-
template: (message) =>
|
|
4
|
-
"<div class='text'>#{message}</div><div class='close' data-icon='x'></div>"
|
|
5
|
-
|
|
6
|
-
constructor: ->
|
|
7
|
-
@el = $ "<div class=\"#{@className}\">"
|
|
8
|
-
@message = ''
|
|
9
|
-
@el.on 'click', '.close', @close
|
|
10
|
-
@el.on 'click', @_onClick
|
|
11
|
-
|
|
12
|
-
render: (@message = @message)=>
|
|
13
|
-
@el.html @template @message
|
|
14
|
-
|
|
15
|
-
close: (ev) =>
|
|
16
|
-
ev?.stopPropagation()
|
|
17
|
-
clearTimeout @interval
|
|
18
|
-
@el.transition top: -60, queue: false
|
|
19
|
-
@el.trigger 'editor:notification', show: false
|
|
20
|
-
|
|
21
|
-
notify: (message, options = {}) =>
|
|
22
|
-
@el.trigger 'editor:notification', show: true
|
|
23
|
-
@render message
|
|
24
|
-
|
|
25
|
-
clearTimeout @interval
|
|
26
|
-
@clickAction = options.onClick
|
|
27
|
-
@el.show().stop(true,false).transition top: 0, =>
|
|
28
|
-
@interval = setTimeout @close, options.interval || 3000
|
|
29
|
-
|
|
30
|
-
_onClick: (ev) =>
|
|
31
|
-
ev.preventDefault()
|
|
32
|
-
@clickAction?()
|
|
33
|
-
@close(ev)
|
|
34
|
-
|
|
35
|
-
module.exports = NotificationController
|
package/src/editor/popup.coffee
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
Controller = window.require 'spine/controller'
|
|
2
|
-
|
|
3
|
-
class Popup extends Controller
|
|
4
|
-
className: 'popup'
|
|
5
|
-
template: require './views/popup'
|
|
6
|
-
|
|
7
|
-
_confirmBtnClass: 'confirm-button'
|
|
8
|
-
_cancelBtnClass: 'cancel-button'
|
|
9
|
-
|
|
10
|
-
events:
|
|
11
|
-
'click .close': 'close'
|
|
12
|
-
'click .confirm-button': 'confirm'
|
|
13
|
-
'click .cancel-button': 'cancel'
|
|
14
|
-
'keyup': 'keyup'
|
|
15
|
-
|
|
16
|
-
###
|
|
17
|
-
Popup constructor
|
|
18
|
-
@param [Object]:
|
|
19
|
-
[String] confirmBtnClass - Confirm button class
|
|
20
|
-
[String] cancelBtnClass - Cancel button class
|
|
21
|
-
[String] title - Popup Title
|
|
22
|
-
[String] content - Popup ExtraContent
|
|
23
|
-
[String] note
|
|
24
|
-
[String] confirmBtn - Confirm button text
|
|
25
|
-
[String] cancelBtn - Cancel button text
|
|
26
|
-
[Bool] separator - Show or not the separator (default: false)
|
|
27
|
-
###
|
|
28
|
-
constructor:->
|
|
29
|
-
super
|
|
30
|
-
@render @
|
|
31
|
-
|
|
32
|
-
render: (item) ->
|
|
33
|
-
@el.html @template
|
|
34
|
-
confirmBtnClass: [@_confirmBtnClass, item.confirmBtnClass].join ' '
|
|
35
|
-
cancelBtnClass: [@_cancelBtnClass, item.cancelBtnClass].join ' '
|
|
36
|
-
title: item.title
|
|
37
|
-
content: item.content
|
|
38
|
-
note: item.note
|
|
39
|
-
confirm: item.confirmBtn
|
|
40
|
-
cancel: item.cancelBtn
|
|
41
|
-
separator: item.separator or false
|
|
42
|
-
@item = item
|
|
43
|
-
@
|
|
44
|
-
|
|
45
|
-
keyup:(e)-> @confirm() if e.keyCode is 13
|
|
46
|
-
|
|
47
|
-
confirm: => @_remove() and @onConfirm()
|
|
48
|
-
|
|
49
|
-
cancel: => @_remove() and @onCancel()
|
|
50
|
-
|
|
51
|
-
close: => @_remove() and @trigger 'canceled'
|
|
52
|
-
|
|
53
|
-
onConfirm: => @trigger 'confirmed'
|
|
54
|
-
|
|
55
|
-
onCancel: => @trigger 'canceled'
|
|
56
|
-
|
|
57
|
-
pop: (place, @onConfirm = @onConfirm, @onCancel = @onCancel) =>
|
|
58
|
-
return if @el.is ':visible'
|
|
59
|
-
place.append @el.stop(true, true).css(opacity: 0).show().animate opacity: 1, 250
|
|
60
|
-
@el.unbind('click', @_close).bind 'click', @_close
|
|
61
|
-
|
|
62
|
-
_remove: =>
|
|
63
|
-
@el.stop(true, true).animate opacity: 0, 250, => @el.hide().detach()
|
|
64
|
-
|
|
65
|
-
_close: (e) =>
|
|
66
|
-
do @close if @el.is e.target
|
|
67
|
-
|
|
68
|
-
module.exports = Popup
|