@widgetic/editor 3.11.4 → 4.0.1

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.
Files changed (497) hide show
  1. package/README.md +245 -0
  2. package/dist/assets/fonts.json +331 -0
  3. package/dist/assets/icons/ic-browser/audio.svg +7 -0
  4. package/dist/assets/icons/ic-browser/document.svg +11 -0
  5. package/dist/assets/icons/ic-browser/error.svg +5 -0
  6. package/dist/assets/icons/ic-browser/folder.svg +28 -0
  7. package/dist/assets/icons/ic-browser/player-pause.svg +1 -0
  8. package/dist/assets/icons/ic-browser/player-play.svg +1 -0
  9. package/dist/assets/icons/ic-browser/trash.svg +1 -0
  10. package/dist/assets/icons/ic-fixed-position/background-deselected.svg +3 -0
  11. package/dist/assets/icons/ic-fixed-position/background-selected.svg +3 -0
  12. package/dist/assets/icons/ic-fixed-position/bottom-left-background-deselected.svg +3 -0
  13. package/dist/assets/icons/ic-fixed-position/bottom-left-background-selected.svg +3 -0
  14. package/dist/assets/icons/ic-fixed-position/bottom-left-icon.svg +4 -0
  15. package/dist/assets/icons/ic-fixed-position/bottom-right-background-deselected.svg +3 -0
  16. package/dist/assets/icons/ic-fixed-position/bottom-right-background-selected.svg +3 -0
  17. package/dist/assets/icons/ic-fixed-position/bottom-right-icon.svg +4 -0
  18. package/dist/assets/icons/ic-fixed-position/center-bottom-icon.svg +5 -0
  19. package/dist/assets/icons/ic-fixed-position/center-center-icon.svg +3 -0
  20. package/dist/assets/icons/ic-fixed-position/center-left-icon.svg +5 -0
  21. package/dist/assets/icons/ic-fixed-position/center-right-icon.svg +5 -0
  22. package/dist/assets/icons/ic-fixed-position/center-top-icon.svg +5 -0
  23. package/dist/assets/icons/ic-fixed-position/top-left-background-deselected.svg +3 -0
  24. package/dist/assets/icons/ic-fixed-position/top-left-background-selected.svg +3 -0
  25. package/dist/assets/icons/ic-fixed-position/top-left-icon.svg +4 -0
  26. package/dist/assets/icons/ic-fixed-position/top-right-background-deselected.svg +3 -0
  27. package/dist/assets/icons/ic-fixed-position/top-right-background-selected.svg +3 -0
  28. package/dist/assets/icons/ic-fixed-position/top-right-icon.svg +4 -0
  29. package/dist/assets/icons/trash.svg +1 -0
  30. package/dist/components/MockWidget.svelte +108 -0
  31. package/dist/components/MockWidget.svelte.d.ts +22 -0
  32. package/dist/components/WidgetPreview.svelte +852 -0
  33. package/dist/components/WidgetPreview.svelte.d.ts +100 -0
  34. package/dist/components/color-select/ColorSelect.svelte +258 -0
  35. package/dist/components/color-select/ColorSelect.svelte.d.ts +42 -0
  36. package/dist/components/color-select/color.d.ts +25 -0
  37. package/dist/components/color-select/color.js +21 -0
  38. package/dist/components/color-select/constants.d.ts +5 -0
  39. package/dist/components/color-select/constants.js +5 -0
  40. package/dist/components/color-select/render.d.ts +5 -0
  41. package/dist/components/color-select/render.js +77 -0
  42. package/dist/components/color-select/shaders.d.ts +3 -0
  43. package/dist/components/color-select/shaders.js +8 -0
  44. package/dist/components/editors/EmbedEditor.svelte +700 -0
  45. package/dist/components/editors/EmbedEditor.svelte.d.ts +50 -0
  46. package/dist/components/editors/PropsEditor.svelte +3952 -0
  47. package/dist/components/editors/PropsEditor.svelte.d.ts +62 -0
  48. package/dist/components/editors/props-editor.css +73 -0
  49. package/dist/components/ic/AngleInputController.svelte +276 -0
  50. package/dist/components/ic/AngleInputController.svelte.d.ts +26 -0
  51. package/dist/components/ic/BrowserInputController.svelte +724 -0
  52. package/dist/components/ic/BrowserInputController.svelte.d.ts +39 -0
  53. package/dist/components/ic/CheckboxInputController.svelte +203 -0
  54. package/dist/components/ic/CheckboxInputController.svelte.d.ts +41 -0
  55. package/dist/components/ic/ColorPickerInputController.svelte +1584 -0
  56. package/dist/components/ic/ColorPickerInputController.svelte.d.ts +50 -0
  57. package/dist/components/ic/DateFieldInputController.svelte +453 -0
  58. package/dist/components/ic/DateFieldInputController.svelte.d.ts +35 -0
  59. package/dist/components/ic/DatePickerInputController.svelte +364 -0
  60. package/dist/components/ic/DatePickerInputController.svelte.d.ts +28 -0
  61. package/dist/components/ic/DropdownInputController.svelte +226 -0
  62. package/dist/components/ic/DropdownInputController.svelte.d.ts +43 -0
  63. package/dist/components/ic/FixedPositionInputController.svelte +353 -0
  64. package/dist/components/ic/FixedPositionInputController.svelte.d.ts +23 -0
  65. package/dist/components/ic/FontInputController.svelte +2062 -0
  66. package/dist/components/ic/FontInputController.svelte.d.ts +47 -0
  67. package/dist/components/ic/InputControllerHeader.svelte +147 -0
  68. package/dist/components/ic/InputControllerHeader.svelte.d.ts +23 -0
  69. package/dist/components/ic/NumberControls.svelte +299 -0
  70. package/dist/components/ic/NumberControls.svelte.d.ts +30 -0
  71. package/dist/components/ic/NumberInputController.svelte +397 -0
  72. package/dist/components/ic/NumberInputController.svelte.d.ts +30 -0
  73. package/dist/components/ic/PositionInputController.svelte +252 -0
  74. package/dist/components/ic/PositionInputController.svelte.d.ts +37 -0
  75. package/dist/components/ic/RadioGroupInputController.svelte +162 -0
  76. package/dist/components/ic/RadioGroupInputController.svelte.d.ts +38 -0
  77. package/dist/components/ic/RangeCalendarInputController.svelte +262 -0
  78. package/dist/components/ic/RangeCalendarInputController.svelte.d.ts +32 -0
  79. package/dist/components/ic/RoundedCornersInputController.svelte +469 -0
  80. package/dist/components/ic/RoundedCornersInputController.svelte.d.ts +37 -0
  81. package/dist/components/ic/SliderInputController.svelte +411 -0
  82. package/dist/components/ic/SliderInputController.svelte.d.ts +46 -0
  83. package/dist/components/ic/SliderRangeInputController.svelte +155 -0
  84. package/dist/components/ic/SliderRangeInputController.svelte.d.ts +33 -0
  85. package/dist/components/ic/SwitchInputController.svelte +107 -0
  86. package/dist/components/ic/SwitchInputController.svelte.d.ts +24 -0
  87. package/dist/components/ic/TagsInputController.svelte +125 -0
  88. package/dist/components/ic/TagsInputController.svelte.d.ts +27 -0
  89. package/dist/components/ic/TextAreaInputController.svelte +1804 -0
  90. package/dist/components/ic/TextAreaInputController.svelte.d.ts +13 -0
  91. package/dist/components/ic/TextAreaPreviewInputController.svelte +476 -0
  92. package/dist/components/ic/TextAreaPreviewInputController.svelte.d.ts +28 -0
  93. package/dist/components/ic/TextInputController.svelte +70 -0
  94. package/dist/components/ic/TextInputController.svelte.d.ts +30 -0
  95. package/dist/components/ic/TimeInputController.svelte +434 -0
  96. package/dist/components/ic/TimeInputController.svelte.d.ts +25 -0
  97. package/dist/components/ic/VectorInputController.svelte +1826 -0
  98. package/dist/components/ic/VectorInputController.svelte.d.ts +47 -0
  99. package/dist/components/ic/index.d.ts +39 -0
  100. package/dist/components/ic/index.js +24 -0
  101. package/dist/components/ic/shared/CategoryTabs.svelte +40 -0
  102. package/dist/components/ic/shared/CategoryTabs.svelte.d.ts +25 -0
  103. package/dist/components/ic/shared/ItemGrid.svelte +181 -0
  104. package/dist/components/ic/shared/ItemGrid.svelte.d.ts +35 -0
  105. package/dist/components/ic/shared/RecentItemsSection.svelte +260 -0
  106. package/dist/components/ic/shared/RecentItemsSection.svelte.d.ts +35 -0
  107. package/dist/components/ic/shared/index.d.ts +8 -0
  108. package/dist/components/ic/shared/index.js +9 -0
  109. package/dist/components/icons/addnew.svelte +21 -0
  110. package/dist/components/icons/addnew.svelte.d.ts +20 -0
  111. package/dist/components/icons/drag.svelte +29 -0
  112. package/dist/components/icons/drag.svelte.d.ts +20 -0
  113. package/dist/components/icons/drag.svg +1 -0
  114. package/dist/components/icons/locked.svelte +4 -0
  115. package/dist/components/icons/locked.svelte.d.ts +26 -0
  116. package/dist/components/icons/locked.svg +4 -0
  117. package/dist/components/icons/ok.svelte +20 -0
  118. package/dist/components/icons/ok.svelte.d.ts +20 -0
  119. package/dist/components/icons/ok.svg +11 -0
  120. package/dist/components/icons/unlocked.svelte +4 -0
  121. package/dist/components/icons/unlocked.svelte.d.ts +26 -0
  122. package/dist/components/icons/unlocked.svg +4 -0
  123. package/dist/components/icons/x.svelte +14 -0
  124. package/dist/components/icons/x.svelte.d.ts +20 -0
  125. package/dist/components/icons/x.svg +5 -0
  126. package/dist/components/ui/arrows/OpacitySliderArrows.svelte +43 -0
  127. package/dist/components/ui/arrows/OpacitySliderArrows.svelte.d.ts +23 -0
  128. package/dist/components/ui/checkerboard-background/CheckerboardBackground.svelte +15 -0
  129. package/dist/components/ui/checkerboard-background/CheckerboardBackground.svelte.d.ts +20 -0
  130. package/dist/config.d.ts +5 -0
  131. package/dist/config.js +19 -0
  132. package/dist/index.d.ts +4 -0
  133. package/dist/index.js +8 -0
  134. package/dist/stores/userSession.d.ts +7 -0
  135. package/dist/stores/userSession.js +28 -0
  136. package/dist/utils/FontManager.d.ts +276 -0
  137. package/dist/utils/FontManager.js +1283 -0
  138. package/dist/utils/MediaManager.d.ts +35 -0
  139. package/dist/utils/MediaManager.js +59 -0
  140. package/dist/utils/VectorManager.d.ts +190 -0
  141. package/dist/utils/VectorManager.js +754 -0
  142. package/dist/utils/colorAutocomplete.d.ts +10 -0
  143. package/dist/utils/colorAutocomplete.js +28 -0
  144. package/dist/utils/colorNames.d.ts +3 -0
  145. package/dist/utils/colorNames.js +152 -0
  146. package/dist/utils/colorTransparency.d.ts +52 -0
  147. package/dist/utils/colorTransparency.js +114 -0
  148. package/dist/utils/fontUtils.d.ts +34 -0
  149. package/dist/utils/fontUtils.js +132 -0
  150. package/dist/utils/passiveEvents.js +20 -0
  151. package/dist/utils/recentColors.d.ts +10 -0
  152. package/dist/utils/recentColors.js +63 -0
  153. package/dist/utils/skipFonts.d.ts +3 -0
  154. package/dist/utils/skipFonts.js +49 -0
  155. package/dist/utils/vectorUtils.d.ts +34 -0
  156. package/dist/utils/vectorUtils.js +71 -0
  157. package/dist/utils.d.ts +11 -0
  158. package/dist/utils.js +38 -0
  159. package/package.json +134 -74
  160. package/.babelrc +0 -10
  161. package/.bowerrc +0 -4
  162. package/.nvmrc +0 -1
  163. package/Gruntfile.coffee +0 -69
  164. package/bower.json +0 -28
  165. package/css/browser/entries/activateable.styl +0 -29
  166. package/css/browser/entries/audio.styl +0 -39
  167. package/css/browser/entries/folder.styl +0 -79
  168. package/css/browser/entries/image.styl +0 -26
  169. package/css/browser/entries/index.styl +0 -66
  170. package/css/browser/entries/rss.styl +0 -11
  171. package/css/browser/entries/video.styl +0 -11
  172. package/css/browser/index.styl +0 -86
  173. package/css/browser/intent/index.styl +0 -61
  174. package/css/browser/nav/index.styl +0 -73
  175. package/css/browser/social-browser.styl +0 -23
  176. package/css/controls/clock.styl +0 -110
  177. package/css/controls/config.styl +0 -6
  178. package/css/controls/control-audio-details.styl +0 -63
  179. package/css/controls/control-audio.styl +0 -28
  180. package/css/controls/control-browser.styl +0 -48
  181. package/css/controls/control-color.styl +0 -423
  182. package/css/controls/control-date_time.styl +0 -191
  183. package/css/controls/control-dropdown.styl +0 -79
  184. package/css/controls/control-font.styl +0 -147
  185. package/css/controls/control-image-details.styl +0 -35
  186. package/css/controls/control-image.styl +0 -43
  187. package/css/controls/control-order-picker.styl +0 -29
  188. package/css/controls/control-position.styl +0 -390
  189. package/css/controls/control-range.styl +0 -68
  190. package/css/controls/control-scale.styl +0 -30
  191. package/css/controls/control-slider.styl +0 -38
  192. package/css/controls/control-spinner.styl +0 -39
  193. package/css/controls/control-textarea.styl +0 -52
  194. package/css/controls/control-toggle.styl +0 -34
  195. package/css/controls/control-url.styl +0 -32
  196. package/css/controls/control-video-details.styl +0 -85
  197. package/css/controls/control-video.styl +0 -43
  198. package/css/controls/general.styl +0 -98
  199. package/css/controls/index.styl +0 -25
  200. package/css/editor/colors.styl +0 -7
  201. package/css/editor/content/directinput.styl +0 -47
  202. package/css/editor/content/index.styl +0 -111
  203. package/css/editor/content/message.styl +0 -53
  204. package/css/editor/content/tabs.styl +0 -75
  205. package/css/editor/copied-from-old-style.styl +0 -197
  206. package/css/editor/details/bulk-editor.styl +0 -104
  207. package/css/editor/details/index.styl +0 -21
  208. package/css/editor/details/item.styl +0 -153
  209. package/css/editor/embed.styl +0 -106
  210. package/css/editor/footer.styl +0 -180
  211. package/css/editor/full-editor.styl +0 -16
  212. package/css/editor/index.styl +0 -124
  213. package/css/editor/login-popup.styl +0 -13
  214. package/css/editor/preview.styl +0 -257
  215. package/css/editor/skin/editor/index.styl +0 -54
  216. package/css/editor/skin/editor/tabs.styl +0 -111
  217. package/css/editor/skin/index.styl +0 -138
  218. package/css/editor/skin/popup.styl +0 -152
  219. package/css/editor/skin/presets/dropdown.styl +0 -61
  220. package/css/editor/skin/presets/index.styl +0 -86
  221. package/css/editor/skin/presets/list.styl +0 -244
  222. package/css/editor/tooltips.styl +0 -85
  223. package/css/fonts.styl +0 -47
  224. package/css/icons/BlogvioEditor.dev.svg +0 -112
  225. package/css/icons.styl +0 -16
  226. package/css/img/arrow-right-rounded-v-small.png +0 -0
  227. package/css/img/browser-folder-separator.png +0 -0
  228. package/css/img/calendar-input-icons.png +0 -0
  229. package/css/img/check.png +0 -0
  230. package/css/img/close.png +0 -0
  231. package/css/img/composition/edit-icon.png +0 -0
  232. package/css/img/content/audio-icon.png +0 -0
  233. package/css/img/content/folder-icon.png +0 -0
  234. package/css/img/content/messages/error-background.png +0 -0
  235. package/css/img/content/messages/error-icon.png +0 -0
  236. package/css/img/content/messages/notification-background.png +0 -0
  237. package/css/img/content/messages/notification-icon.png +0 -0
  238. package/css/img/content/no-files-audio.png +0 -0
  239. package/css/img/content/no-files-image.png +0 -0
  240. package/css/img/content/no-files-video.png +0 -0
  241. package/css/img/content/no-files.png +0 -0
  242. package/css/img/content/rss-icon.png +0 -0
  243. package/css/img/content/selected.png +0 -0
  244. package/css/img/content/video-icon.png +0 -0
  245. package/css/img/content/with-control-text.png +0 -0
  246. package/css/img/control-dropdown-arrow.png +0 -0
  247. package/css/img/control-image-valid.png +0 -0
  248. package/css/img/control-position-icon.png +0 -0
  249. package/css/img/control-scale-lock-icon.png +0 -0
  250. package/css/img/control-slider-arrows-hover.png +0 -0
  251. package/css/img/control-slider-arrows.png +0 -0
  252. package/css/img/control-spinner-buttons-hover.png +0 -0
  253. package/css/img/control-spinner-buttons.png +0 -0
  254. package/css/img/control-textarea-bold-active.png +0 -0
  255. package/css/img/control-textarea-bold.png +0 -0
  256. package/css/img/control-textarea-italic-active.png +0 -0
  257. package/css/img/control-textarea-italic.png +0 -0
  258. package/css/img/control-textarea-underline-active.png +0 -0
  259. package/css/img/control-textarea-underline.png +0 -0
  260. package/css/img/custom-checkbox-sprite.png +0 -0
  261. package/css/img/details/item-collapse-icon.png +0 -0
  262. package/css/img/details/item-expand-icon.png +0 -0
  263. package/css/img/details/item-sort-icon.png +0 -0
  264. package/css/img/done-arrow.png +0 -0
  265. package/css/img/fb-logo-icon-w.png +0 -0
  266. package/css/img/grid-icons.png +0 -0
  267. package/css/img/icon-reference.png +0 -0
  268. package/css/img/indicator.png +0 -0
  269. package/css/img/loader.gif +0 -0
  270. package/css/img/loaders/audio-white.png +0 -0
  271. package/css/img/loaders/audio.png +0 -0
  272. package/css/img/loaders/photo-white.png +0 -0
  273. package/css/img/loaders/photo.png +0 -0
  274. package/css/img/loaders/util-white.png +0 -0
  275. package/css/img/loaders/util.png +0 -0
  276. package/css/img/loaders/video-white.png +0 -0
  277. package/css/img/loaders/video.png +0 -0
  278. package/css/img/maximize.png +0 -0
  279. package/css/img/minimize.png +0 -0
  280. package/css/img/next-btn.png +0 -0
  281. package/css/img/search-icon-sprite.png +0 -0
  282. package/css/img/services/blogvio.png +0 -0
  283. package/css/img/services/drive.png +0 -0
  284. package/css/img/services/dropbox-login.png +0 -0
  285. package/css/img/services/dropbox.png +0 -0
  286. package/css/img/services/facebook-login.png +0 -0
  287. package/css/img/services/facebook.png +0 -0
  288. package/css/img/services/flickr-login.png +0 -0
  289. package/css/img/services/flickr.png +0 -0
  290. package/css/img/services/instagram-login.png +0 -0
  291. package/css/img/services/instagram.png +0 -0
  292. package/css/img/services/text.png +0 -0
  293. package/css/img/services/uploads.png +0 -0
  294. package/css/img/services/uploads.svg +0 -689
  295. package/css/img/services/webaddress-bw.png +0 -0
  296. package/css/img/services/webaddress.png +0 -0
  297. package/css/img/services/webadress.png +0 -0
  298. package/css/img/services/websearch.png +0 -0
  299. package/css/img/services/wix.png +0 -0
  300. package/css/img/skin/item-active-indicator.png +0 -0
  301. package/css/img/skin/item-hover-icon.png +0 -0
  302. package/css/img/skin/overwrite.png +0 -0
  303. package/css/img/skin/popup-name-icon.png +0 -0
  304. package/css/img/skin/popup-save.png +0 -0
  305. package/css/img/skin/preset.png +0 -0
  306. package/css/img/skin/presets-arrow-purple.png +0 -0
  307. package/css/img/tw-icon-w.png +0 -0
  308. package/css/img/warning.png +0 -0
  309. package/css/img/white-rounded-check.png +0 -0
  310. package/css/index.styl +0 -9
  311. package/css/mixins.styl +0 -62
  312. package/css/scrollable.styl +0 -101
  313. package/karma.conf.js +0 -73
  314. package/lib/control.js +0 -1
  315. package/lib/controls.js +0 -1
  316. package/lib/core.editor.js +0 -4
  317. package/lib/core.js +0 -1
  318. package/lib/core.vendor.js +0 -3
  319. package/lib/dev/control.js +0 -845
  320. package/lib/dev/controls.js +0 -7774
  321. package/lib/dev/core.editor.js +0 -6439
  322. package/lib/dev/core.js +0 -1486
  323. package/lib/dev/core.vendor.js +0 -10708
  324. package/lib/dev/editor.css +0 -166
  325. package/lib/dev/editor.js +0 -29710
  326. package/lib/dev/editor.vendor.js +0 -15119
  327. package/lib/dev/jquery.nanoscroller.js.map +0 -10
  328. package/lib/editor.css +0 -167
  329. package/lib/editor.js +0 -49
  330. package/lib/editor.vendor.js +0 -11
  331. package/src/api/index.coffee +0 -23
  332. package/src/api/mixin.coffee +0 -89
  333. package/src/browser/controller/entry/audio.coffee +0 -38
  334. package/src/browser/controller/entry/button.coffee +0 -16
  335. package/src/browser/controller/entry/file.coffee +0 -35
  336. package/src/browser/controller/entry/folder.coffee +0 -14
  337. package/src/browser/controller/entry/image.coffee +0 -24
  338. package/src/browser/controller/entry/index.coffee +0 -18
  339. package/src/browser/controller/entry/rss.coffee +0 -5
  340. package/src/browser/controller/entry/video.coffee +0 -4
  341. package/src/browser/controller/index.coffee +0 -289
  342. package/src/browser/controller/instagram.coffee +0 -129
  343. package/src/browser/controller/navbar.coffee +0 -48
  344. package/src/browser/controller/social.coffee +0 -213
  345. package/src/browser/model/entry.coffee +0 -18
  346. package/src/browser/model/index.coffee +0 -34
  347. package/src/core/controller/font-loader.coffee +0 -65
  348. package/src/core/controller/lazyload.coffee +0 -14
  349. package/src/core/controller/overlay.coffee +0 -146
  350. package/src/core/controller/popup.coffee +0 -36
  351. package/src/core/controller/scrollable.coffee +0 -68
  352. package/src/core/controls/audio.coffee +0 -56
  353. package/src/core/controls/browser.coffee +0 -271
  354. package/src/core/controls/color.coffee +0 -121
  355. package/src/core/controls/date-time/calendar/index.coffee +0 -99
  356. package/src/core/controls/date-time/calendar/months.coffee +0 -52
  357. package/src/core/controls/date-time/calendar/years.coffee +0 -58
  358. package/src/core/controls/date-time/clock.coffee +0 -62
  359. package/src/core/controls/date-time/helper.coffee +0 -31
  360. package/src/core/controls/date-time/index.coffee +0 -62
  361. package/src/core/controls/date-time/popup.coffee +0 -56
  362. package/src/core/controls/details/audio.coffee +0 -33
  363. package/src/core/controls/details/image.coffee +0 -19
  364. package/src/core/controls/details/video.coffee +0 -14
  365. package/src/core/controls/dropdown.coffee +0 -100
  366. package/src/core/controls/font/font-item.coffee +0 -22
  367. package/src/core/controls/font/font-list.coffee +0 -108
  368. package/src/core/controls/font/fonts-popup.coffee +0 -91
  369. package/src/core/controls/font/index.coffee +0 -66
  370. package/src/core/controls/image.coffee +0 -37
  371. package/src/core/controls/index.coffee +0 -88
  372. package/src/core/controls/orderPicker.coffee +0 -93
  373. package/src/core/controls/position/grid-panel.coffee +0 -75
  374. package/src/core/controls/position/index.coffee +0 -98
  375. package/src/core/controls/position/panel.coffee +0 -68
  376. package/src/core/controls/position/pixel-panel.coffee +0 -54
  377. package/src/core/controls/position/popup.coffee +0 -63
  378. package/src/core/controls/position/reference-panel.coffee +0 -26
  379. package/src/core/controls/range.coffee +0 -191
  380. package/src/core/controls/rss.coffee +0 -16
  381. package/src/core/controls/scale.coffee +0 -78
  382. package/src/core/controls/slider.coffee +0 -122
  383. package/src/core/controls/stepper.coffee +0 -97
  384. package/src/core/controls/text.coffee +0 -54
  385. package/src/core/controls/textarea.coffee +0 -78
  386. package/src/core/controls/toggle.coffee +0 -29
  387. package/src/core/controls/url.coffee +0 -88
  388. package/src/core/controls/video.coffee +0 -9
  389. package/src/core/embed/api.js +0 -178
  390. package/src/core/embed/controller.js +0 -331
  391. package/src/core/models/composition.coffee +0 -178
  392. package/src/core/models/content.coffee +0 -79
  393. package/src/core/models/skin.coffee +0 -91
  394. package/src/core/models/user.coffee +0 -6
  395. package/src/core/models/widget.coffee +0 -88
  396. package/src/core/router/index.coffee +0 -44
  397. package/src/core/services/container/index.js +0 -18
  398. package/src/core/services/container/instance.js +0 -3
  399. package/src/core/services/content.js +0 -80
  400. package/src/core/services/instagram.coffee +0 -47
  401. package/src/core/services/mixin/events.js +0 -17
  402. package/src/core/services/service.js +0 -1
  403. package/src/core/services/sounds.js +0 -81
  404. package/src/core/services/uploads.js +0 -299
  405. package/src/core/utils/popup.coffee +0 -67
  406. package/src/core/utils/should-show.coffee +0 -12
  407. package/src/core/views/audio-details.pug +0 -9
  408. package/src/core/views/audio.pug +0 -7
  409. package/src/core/views/browser.pug +0 -4
  410. package/src/core/views/color.pug +0 -8
  411. package/src/core/views/date-time/calendar.pug +0 -3
  412. package/src/core/views/date-time/clock.pug +0 -12
  413. package/src/core/views/date-time/grid.pug +0 -6
  414. package/src/core/views/date-time/input.pug +0 -4
  415. package/src/core/views/date-time/table.pug +0 -6
  416. package/src/core/views/dropdown.pug +0 -9
  417. package/src/core/views/font/font-item.pug +0 -3
  418. package/src/core/views/font/fonts-list.pug +0 -7
  419. package/src/core/views/font/fonts-popup.pug +0 -5
  420. package/src/core/views/font/index.pug +0 -7
  421. package/src/core/views/image-details.pug +0 -6
  422. package/src/core/views/image.pug +0 -5
  423. package/src/core/views/input-layout.pug +0 -15
  424. package/src/core/views/order-items.pug +0 -7
  425. package/src/core/views/order-picker.pug +0 -7
  426. package/src/core/views/pixelpanel.pug +0 -69
  427. package/src/core/views/position.pug +0 -10
  428. package/src/core/views/range.pug +0 -9
  429. package/src/core/views/scale.pug +0 -7
  430. package/src/core/views/slider.pug +0 -6
  431. package/src/core/views/stepper.pug +0 -6
  432. package/src/core/views/text.pug +0 -4
  433. package/src/core/views/textarea.pug +0 -8
  434. package/src/core/views/toggle.pug +0 -5
  435. package/src/core/views/video-details.pug +0 -7
  436. package/src/core/views/video.pug +0 -4
  437. package/src/core/widget/index.coffee +0 -66
  438. package/src/editor/content/browser/dropzone.html +0 -268
  439. package/src/editor/content/browser/file.html +0 -124
  440. package/src/editor/content/browser/scroll-pane.html +0 -32
  441. package/src/editor/content/browser/service.html +0 -53
  442. package/src/editor/content/browser/upload.coffee +0 -44
  443. package/src/editor/content/browser/upload.html +0 -439
  444. package/src/editor/content/index.coffee +0 -294
  445. package/src/editor/content/input/field.coffee +0 -45
  446. package/src/editor/content/input/index.coffee +0 -115
  447. package/src/editor/content/service/base/photoitem.coffee +0 -49
  448. package/src/editor/content/service/cache.coffee +0 -20
  449. package/src/editor/content/service/default.coffee +0 -59
  450. package/src/editor/content/service/dropbox.coffee +0 -71
  451. package/src/editor/content/service/facebook.coffee +0 -143
  452. package/src/editor/content/service/flickr.coffee +0 -85
  453. package/src/editor/content/service/google-drive-sdk.coffee +0 -18
  454. package/src/editor/content/service/google-drive.coffee +0 -144
  455. package/src/editor/content/service/instagram-social.coffee +0 -84
  456. package/src/editor/content/service/instagram.coffee +0 -168
  457. package/src/editor/content/service/share-popup.coffee +0 -15
  458. package/src/editor/content/service/soundcloud.coffee +0 -163
  459. package/src/editor/content/tab.coffee +0 -27
  460. package/src/editor/details/bulk-editor/attributes-panel.coffee +0 -11
  461. package/src/editor/details/bulk-editor/index.coffee +0 -86
  462. package/src/editor/details/index.coffee +0 -156
  463. package/src/editor/details/item/attributes.coffee +0 -45
  464. package/src/editor/details/item/index.coffee +0 -82
  465. package/src/editor/editor.coffee +0 -274
  466. package/src/editor/footer/breadcrumb.coffee +0 -17
  467. package/src/editor/footer/index.coffee +0 -36
  468. package/src/editor/index.coffee +0 -79
  469. package/src/editor/listeners/embed-listener.coffee +0 -143
  470. package/src/editor/login-popup.coffee +0 -29
  471. package/src/editor/notification-controller.coffee +0 -35
  472. package/src/editor/popup.coffee +0 -68
  473. package/src/editor/remote-preview.coffee +0 -68
  474. package/src/editor/save/index.coffee +0 -62
  475. package/src/editor/skin/delete.coffee +0 -33
  476. package/src/editor/skin/editor/index.coffee +0 -188
  477. package/src/editor/skin/editor/panel.coffee +0 -37
  478. package/src/editor/skin/index.coffee +0 -126
  479. package/src/editor/skin/save.coffee +0 -58
  480. package/src/editor/skin/selector/index.coffee +0 -59
  481. package/src/editor/skin/selector/item.coffee +0 -123
  482. package/src/editor/skin/selector/list.coffee +0 -97
  483. package/src/editor/views/embed.pug +0 -10
  484. package/src/editor/views/loginbutton.pug +0 -8
  485. package/src/editor/views/popup.pug +0 -17
  486. package/src/editor/views/presets.pug +0 -8
  487. package/src/editor/views/presetslist-header.pug +0 -8
  488. package/src/editor/views/skinitem.pug +0 -13
  489. package/src/modules/control.js +0 -3
  490. package/src/modules/controls.js +0 -29
  491. package/src/modules/core.js +0 -19
  492. package/src/modules/editor.js +0 -80
  493. package/test/config.js +0 -3
  494. package/test/core/models/skin-spec.js +0 -209
  495. package/webpack.config.js +0 -46
  496. package/webpack.config.prod.js +0 -9
  497. /package/{src/core/views/date-time/popup.pug → dist/utils/passiveEvents.d.ts} +0 -0
@@ -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
@@ -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
@@ -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