@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.
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 +4009 -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 +731 -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 +2098 -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 +1932 -0
  90. package/dist/components/ic/TextAreaInputController.svelte.d.ts +14 -0
  91. package/dist/components/ic/TextAreaPreviewInputController.svelte +478 -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 +11 -0
  131. package/dist/config.js +31 -0
  132. package/dist/index.d.ts +5 -0
  133. package/dist/index.js +9 -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 +278 -0
  137. package/dist/utils/FontManager.js +1302 -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,68 +0,0 @@
1
-
2
-
3
- Skin = window.require 'core/models/skin'
4
- Content = window.require 'core/models/content'
5
-
6
- Events = window.require 'spine/core/events'
7
- Module = window.require 'spine/core/module'
8
-
9
- class RemotePreview extends Module
10
- @include Events
11
-
12
- constructor: (@remote) ->
13
- @style = $ '<style type="text/css">'
14
- super
15
- @currentWidget = @remote.getPreview().widget()
16
- @_loadDependencies()
17
-
18
- load: (@composition) =>
19
- @stopListening Content, 'create', @removeDemoContent
20
- @stopListening Content, 'create', @addContent
21
-
22
- unless @composition.getContent().length
23
- @listenTo Content, 'create', @removeDemoContent
24
-
25
- @listenTo Content, 'create', @addContent
26
-
27
- @listenTo @composition, 'update', @resize
28
- @setSkin @lastSkin if @lastSkin
29
- @trigger 'initialized'
30
- @
31
-
32
- resize: (composition) =>
33
- @currentWidget.resize()
34
-
35
- addContent: (item) =>
36
- return if item.composition_id isnt @composition.id
37
- @currentWidget.addContent item
38
-
39
- removeDemoContent: (item) =>
40
- return if item.composition_id isnt @composition.id
41
- Content.all()
42
- .filter (i) -> i._isDemoContent
43
- .forEach (i) -> i.destroy()
44
- # TODO this should do nothing, remove after checking
45
- @currentWidget.clearContent()
46
- @stopListening Content, 'create', @removeDemoContent
47
-
48
- setSkin: (@lastSkin) ->
49
- @currentWidget.setSkin @lastSkin
50
-
51
- _loadDependencies: ->
52
- if @remote.window.SoundManager?
53
- sm = new @remote.window.SoundManager
54
- if @remote.window.soundManager?
55
- sm = @remote.window.soundManager
56
- if sm
57
- window.soundManager = sm
58
- sm.setup @remote.window.soundManager.setup()
59
-
60
- if !window.videojs
61
- window.videojs = @remote.window.videojs
62
-
63
- release: =>
64
- @trigger 'release', @
65
- @unbind()
66
- @stopListening()
67
-
68
- module.exports = RemotePreview
@@ -1,62 +0,0 @@
1
- Controller = window.require 'spine/controller'
2
- Activateable = window.require 'spine/controller/activateable'
3
-
4
- Composition = window.require 'core/models/composition'
5
- Widget = window.require 'core/models/widget'
6
- User = window.require 'core/models/user'
7
-
8
- class Save extends Controller
9
- className : 'embedder'
10
- template : 'editor/views/embed'
11
- nextTitle : 'Publish'
12
- title : 'Done'
13
-
14
- @include Activateable
15
-
16
- elements:
17
- '.view-comp-btn': 'compBtn'
18
- '.ready-icon': 'readyIcon'
19
-
20
- events:
21
- 'click .share-btn': 'notifyShareIntent'
22
-
23
- constructor: ->
24
- super
25
- @render()
26
-
27
- for: (@composition) ->
28
- return unless @composition.isPersisted()
29
- @widget or= Widget.find @composition.widget_id
30
-
31
- activate: ->
32
- return if @isActive()
33
- @$trigger 'viewChange', 'save'
34
-
35
- @publishComposition()
36
- .then(@for.bind @, @composition)
37
- .then(@_activate)
38
- .then @ready
39
-
40
- _activate: =>
41
- Activateable.activate.apply @, arguments
42
-
43
- ready: =>
44
- @delay $.fn.show.bind @readyIcon
45
-
46
- publishComposition: =>
47
- @composition
48
- .persist()
49
- .then((composition) =>
50
- @$trigger('composition:save', composition)
51
- ).fail (e) =>
52
- console.warn("Persisting the composition failed. Saved as temporary.")
53
- @$trigger('composition:temporary:save', @composition)
54
-
55
- notifyShareIntent: (e) =>
56
- e.preventDefault()
57
- @$trigger 'sharew-intent', $(e.target).data 'target'
58
-
59
- onPopupClose: =>
60
- @$trigger 'Save:close', @pop = false if @pop
61
-
62
- module.exports = Save
@@ -1,33 +0,0 @@
1
- Controller = window.require 'spine/controller'
2
- Popup = require '../popup'
3
- Skin = window.require 'core/models/skin'
4
-
5
- popup = (skin)->
6
- confirmBtnClass: 'green-button button--uc popup-button red-button'
7
- cancelBtnClass: 'dim-button button--uc popup-button dark-purple-button'
8
- title: "Delete Theme \"#{skin.name}\"?"
9
- confirmBtn: 'Delete'
10
- cancelBtn: 'Cancel'
11
-
12
- class DeleteSkinController extends Controller
13
- constructor:->
14
- super
15
- @popup = new Popup className: 'popup skin-delete-popup'
16
-
17
- deleteItem: (item) =>
18
- @model = (@item = item).item
19
- @popup.render(popup(@model)).pop @place, @deleteit
20
- @listenToOnce Skin, 'selected', @_closePopup
21
-
22
- deleteit:(e)=>
23
- @stopListening Skin, 'selected', @_closePopup
24
- if @item.isActive()
25
- el= @item.el
26
- el.next().add(el.prev()).first().controller().active()
27
- @item.release()
28
- @model.destroy()
29
-
30
- _closePopup: =>
31
- @popup.close()
32
-
33
- module.exports = DeleteSkinController
@@ -1,188 +0,0 @@
1
-
2
-
3
- Tabs = window.require 'spine/controller/tabs'
4
- Panel = require './panel'
5
- Skin = window.require 'core/models/skin'
6
-
7
- Activator = window.require 'spine/controller/activator'
8
- Activateable = window.require 'spine/controller/activateable'
9
- Controller = window.require 'spine/controller'
10
-
11
- { createPopup } = require 'Core/utils/popup'
12
- shouldShow = require 'Core/utils/should-show'
13
-
14
- ###
15
- Recursively find a visible spot for a SkinTab
16
- ###
17
- makeVisible = (tab, els, i) ->
18
- return if i is -1
19
- els[i].before tab.el
20
- return if tab.isVisible()
21
- makeVisible(tab, els, i - 1)
22
-
23
- ###
24
- The tab class used to render a skin tab.
25
- ###
26
- class SkinTab extends Controller
27
- @include Activateable
28
- events:
29
- 'click':'active'
30
-
31
- isVisible: => @el.position().top == 0
32
-
33
- class SkinTabs extends Activator
34
- containerClass : 'skin-editor-tabs-list'
35
- events:
36
- 'click .multi-tabs-toggle':'toggleItem'
37
- 'click .activateable':'hideList'
38
-
39
- hideList:(e)=>
40
- @popup?.hide()
41
- controller = $(e.target).controller()
42
- unless controller.el.hasClass('hidden')
43
- @list.children().removeClass('active')
44
- @list.children().each (i,el)=>
45
- $el = $(el)
46
- if $el.data('tab') is controller
47
- $el.addClass('active').siblings().removeClass('active')
48
-
49
- toggleItem:(e) =>
50
- @_createPopup().then => if @popup.visible then @popup.hide() else @popup.show()
51
-
52
- constructor: ->
53
- super
54
- @tabsByName = {}
55
-
56
- @listenTo $(document), 'click', (e) => @popup?.hide() unless $(e.target).is('.multi-tabs-toggle')
57
- @el.prepend @toggle = $("<div class='multi-tabs-toggle' data-icon='❯'></div>")
58
- @list = $("<div class='multi-tabs-list'></div>")
59
- @list.on('click', '.multi-tab-item', @tabClick)
60
-
61
- clear: =>
62
- @list.empty()
63
- @tabsByName = {}
64
- @children().forEach (child) => @stopListening(child)
65
- @toggle.hide()
66
-
67
- afterAdd:(child)=>
68
- super
69
- @listenTo child, 'activate', @_onChildActivate
70
-
71
- @list.append item = $("<div class='multi-tab-item'>#{child.panel.tabTitle}</div>")
72
-
73
- @tabsByName[child.panel.tabTitle] = child
74
- item.data 'tab', child
75
- child.el.data 'multi-tab-list-item', item
76
-
77
- tabClick:(e)=>
78
- @popup?.hide()
79
- target = $(e.target)
80
-
81
- target.data('tab').active()
82
-
83
- update: (tabsMeta, skin) ->
84
- # find out which tabs are empty (i.e. all attributes are hidden because of if conditions)
85
- emptyTabs = {}
86
- for tab, attributes of tabsMeta
87
- emptyTabs[tab] = true
88
- for attribute, settings of attributes
89
- if shouldShow(settings.if, skin)
90
- emptyTabs[tab] = false
91
- break
92
-
93
- # hide the empty tabs
94
- for tab, empty of emptyTabs
95
- @tabsByName[tab].el.toggleClass('empty', empty)
96
- @tabsByName[tab].el.data('multi-tab-list-item')?.toggleClass('empty', empty)
97
-
98
- # if the active tab is now empty, activate the first non-empty tab
99
- @children (i) -> i.el.is('.active.empty')
100
- .map => @children (i) -> i.el.is(':not(.empty)')
101
- .forEach (notEmptyTabs) -> notEmptyTabs[0].active()
102
-
103
- @_updateVisibleTabs()
104
-
105
- true
106
-
107
- _onChildActivate: (tab, event) =>
108
- # NOTE: activateable behaviour already toggles the `active` class, but the
109
- # event is processed in the order of the child elements, so if you toggle
110
- # the tabs from right to left, the `active` class will be present on both
111
- # the current and the previous active tab. This code ensures that the DOM is
112
- # in the final state and the position calculations are correct.
113
- @children().forEach (child) -> child.$removeClass('active')
114
- tab.$addClass('active')
115
-
116
- # if the active tab is not visible, find a place to move it to
117
- if !tab.isVisible()
118
- makeVisible(tab, @children().map((i) -> i.el), 2)
119
-
120
- @_updateVisibleTabs()
121
-
122
- _updateVisibleTabs: ->
123
- # compute the visible state
124
- tabs = @children()
125
- .map (tab) -> {tab, visible: tab.isVisible()}
126
-
127
- # update the extra tabs dropdown
128
- tabs.forEach (i) ->
129
- i.tab.el.data 'multi-tab-list-item'
130
- .toggle !i.visible
131
-
132
- # show the extra tabs button if needed
133
- allVisible = tabs.map (i) -> i.visible
134
- .reduce (acc, i) -> acc && i
135
- @toggle.toggle(!allVisible)
136
- @popup?.hide() if allVisible
137
-
138
- _createPopup: ->
139
- return @popupPromise if @popupPromise
140
- @popupPromise = createPopup
141
- topOffset: 25
142
- leftOffset: 23
143
- anchor: @toggle
144
- .then (@popup) =>
145
- @popup.append(@list)
146
- .catch (err) ->
147
- console.error err.stack
148
-
149
- class SkinEditor extends Tabs
150
- tabRenderer : SkinTab
151
- className : 'skin-editor'
152
- tabContainerClass : 'skin-editor-tabs'
153
- tabContainer : SkinTabs
154
- containerClass : 'skin-editor-container'
155
-
156
- tabTemplate : (i)->i.panel.tabTitle
157
-
158
- setAccessLevel: (@accessLevel) ->
159
-
160
- parseMeta: (@meta, composition) =>
161
- child.release() for child in @children()
162
- @tabs.clear()
163
-
164
- for tabTitle, meta of @meta.tabs
165
- @append new Panel({meta, tabTitle, composition, @accessLevel})
166
-
167
- @tabs.update @meta.tabs, composition.getSkin()
168
-
169
- display: (index = 0) ->
170
- @children()[index]?.active()
171
-
172
- # check if the skin has missing atts, and update it
173
- updateSkin: (skin) =>
174
- atts = false
175
- for _, meta of @meta.tabs
176
- (atts or= {})[attrName] = attrData.options.default for attrName, attrData of meta when !skin[attrName]?
177
-
178
- skin.updateAttributes atts, {from: @, ajax: false} if atts
179
-
180
- setSkin: (skin) ->
181
- @updateSkin skin
182
- @children (panel) ->
183
- panel.skinLoad(skin)
184
-
185
- skinChanged: (skin) ->
186
- @tabs.update @meta.tabs, skin
187
-
188
- module.exports = SkinEditor
@@ -1,37 +0,0 @@
1
-
2
-
3
- Controller = window.require 'spine/controller'
4
- Container = window.require 'spine/controller/container'
5
- Activateable = window.require 'spine/controller/activateable'
6
-
7
- Skin = window.require 'core/models/skin'
8
- Scrollable = require '../../../core/controller/scrollable'
9
-
10
- class SkinEditorPanel extends Controller
11
- className: 'controls'
12
- @include Container
13
- @include Activateable
14
- @include Scrollable
15
-
16
- constructor: ->
17
- super
18
- @bind 'activate', => @skinLoad(@skin) if @skin
19
-
20
- skinLoad: (item) =>
21
- unless @skin?
22
- for attribute, config of @meta
23
- Control = window.require config.control
24
- isAccesible = @accessLevel >= (config.access || 0)
25
- options = config.options
26
- conditions = config.if
27
- if !isAccesible then options.readonly = true
28
- @append new Control {item, attribute, options, @composition, isAccesible, conditions}
29
-
30
- @children (child) -> child.setItem item
31
- @skin = item
32
- @scroll().update()
33
-
34
- onScroll: =>
35
- @children (child) -> child.deactivate?()
36
-
37
- module.exports = SkinEditorPanel
@@ -1,126 +0,0 @@
1
-
2
-
3
- Controller = window.require 'spine/controller'
4
- Container = window.require 'spine/controller/container'
5
- Activateable = window.require 'spine/controller/activateable'
6
-
7
- Selector = require './selector'
8
- Editor = require './editor'
9
- SavePopup = require './save'
10
- DeletePopup = require './delete'
11
- SkinModel = window.require 'core/models/skin'
12
- Composition = window.require 'core/models/composition'
13
-
14
- class SkinEditor extends Controller
15
- className : 'skin-config'
16
- title : 'Theme'
17
- nextTitle : 'Skin'
18
-
19
- @include Container
20
- @include Activateable
21
-
22
- controllers:
23
- 'selector' : Selector
24
- 'editor' : Editor
25
-
26
- events:
27
- 'saveItem' : 'saveItem'
28
- 'deleteItem': 'deleteItem'
29
- 'SkinItem:selected': '_onSkinItemSelected'
30
-
31
- constructor: ->
32
- super
33
-
34
- @savePopup = new SavePopup({place: @el})
35
- @deletePopup = new DeletePopup({place: @el})
36
-
37
- setPremium: (@premium) ->
38
- @editor.setAccessLevel +@premium
39
-
40
- initSave: -> @selector.initSave()
41
-
42
- hasPendingChange: -> @selector.hasPendingChange()
43
-
44
- saveItem:(e,opts={}) ->
45
- e.stopPropagation()
46
- @savePopup.saveItem opts.controller, opts.item
47
-
48
- deleteItem:(e,opts={}) ->
49
- e.stopPropagation()
50
- @deletePopup.deleteItem opts.controller, opts.item
51
-
52
- select: (skin, force = false) ->
53
- return false unless skin.widget_id is @widget.id
54
- selectedSkin = skin
55
- @selector.select(selectedSkin.id, force)
56
-
57
- for: (@composition) ->
58
- @widget = @composition.getWidget()
59
- @initialize()
60
- @
61
-
62
- initialize: (options) =>
63
- return console.warn 'No composition set' unless @composition
64
- return console.warn 'No widget set' unless @widget
65
-
66
- @stopListening()
67
- @listenTo SkinModel, 'save', @_onSkinSave
68
- @listenTo SkinModel, 'destroy',@_onSkinDestroy
69
- @listenTo SkinModel, 'create', @_onSkinCreate
70
- @listenTo SkinModel, 'change', @_onSkinChange
71
-
72
- skins = SkinModel.findAllByAttribute('widget_id', @widget.id)
73
- skins = skins.filter((i) -> i.isPreset()).concat skins.filter (i) -> !i.isPreset()
74
- meta = @widget.skinMeta
75
-
76
- @editor.parseMeta meta, @composition
77
- @selector.refresh skins
78
-
79
- @editor.display()
80
-
81
- @select(@composition.getSkin() or skins[0])
82
-
83
- @trigger 'initialized'
84
-
85
- _onSkinSave: (skin, opts={}) =>
86
- @$trigger 'skin:save', skin if opts.ajax or opts.fromApi
87
-
88
- _onSkinDestroy: (skin, opts) =>
89
- @$trigger 'skin:destroy', skin
90
-
91
- _onSkinCreate: (skin) =>
92
- return if skin.widget_id isnt @widget?.id
93
- @initialize()
94
- @selector.toggleBtn()
95
- @selector.select(skin.id)
96
-
97
- _onSkinItemSelected: (ev, skin) =>
98
- @composition.updateAttribute('skin_id', skin.id, {ajax: false})
99
- @currentSkin?.used(-1)
100
- @currentSkin = skin
101
- @currentSkin.used(+1)
102
- @editor.setSkin(skin)
103
-
104
- _onSkinChange: (skin, type, options) =>
105
- @editor.skinChanged(skin)
106
- return unless @currentSkin?.eql(skin)
107
- return unless options.changedID
108
- @composition.updateAttribute('skin_id', skin.id, {ajax: false})
109
-
110
- activate: (step) =>
111
- Activateable.activate.apply @, arguments
112
- @$trigger 'viewChange', 'skin'
113
- @[step]?()
114
- @
115
-
116
- edit_skin: =>
117
- @delay @selector.editSkinState, 15
118
-
119
- setOptions: (opts) =>
120
- @selector.hideEditBtn() if opts.enabled? and !opts.enabled
121
-
122
- release: =>
123
- @currentSkin.reset()
124
- super
125
-
126
- module.exports = SkinEditor
@@ -1,58 +0,0 @@
1
-
2
-
3
- Controller = window.require 'spine/controller'
4
-
5
- Skin = window.require 'core/models/skin'
6
- Popup = require '../popup'
7
-
8
- skin =
9
- confirmBtnClass: 'green-button button--uc button--save create-button'
10
- cancelBtnClass: 'dim-button button--uc button--overwrite override-button'
11
- title: 'How do you want to proceed?'
12
- content: '<input class="general-input skin-name" type="text" placeholder="Untitled Theme" />'
13
- note: 'Changes will also apply to previous uses of this theme.'
14
- confirmBtn: 'Create a new theme'
15
- cancelBtn: 'Overwrite previous theme'
16
- separator: true
17
-
18
- preset =
19
- confirmBtnClass: skin.confirmBtnClass
20
- cancelBtnClass: skin.cancelBtnClass
21
- title: 'Create a new theme?'
22
- content: skin.content
23
- confirmBtn: 'Create'
24
- separator: false
25
-
26
- class SavePopup extends Controller
27
- constructor:->
28
- super
29
- @popup = new Popup className: 'popup skin-save-popup'
30
- @listenTo @popup, 'canceled', @_onSaveCanceled
31
-
32
- saveItem: (item)->
33
- @model = (@item = item).item
34
- @popup.render(if @model.user_id? then skin else preset).pop @place, @save, @override
35
-
36
- save: =>
37
-
38
- atts = @model.attributes()
39
- delete atts['id']
40
- delete atts['uses']
41
- atts = $.extend {}, atts , { name:@popup.el.find('input').val(),user_id:1}
42
-
43
- @item.item.reset()
44
- s = new Skin(atts)
45
- s.save()
46
- @item.changes={}
47
-
48
- override: =>
49
-
50
- @item.override()
51
- @item.item.save()
52
-
53
- _onSaveCanceled: =>
54
- @model.trigger('save-canceled')
55
-
56
- _closePopup: => @popup.close()
57
-
58
- module.exports = SavePopup
@@ -1,59 +0,0 @@
1
- Controller = window.require 'spine/controller'
2
- Container = window.require 'spine/controller/container'
3
-
4
- List = require './list'
5
- Dropdown = require '../../../core/controls/dropdown'
6
- Skin = window.require 'core/models/skin'
7
- class Selector extends Controller
8
- className : 'skin-presets'
9
- @include Container
10
- canExpand: true
11
-
12
- controllers: list: List
13
-
14
- elements:
15
- '.toggle-skin-edit':'btn'
16
-
17
- events:
18
- 'click .toggle-skin-edit': 'toggleState'
19
- 'mouseleave .toggle-skin-edit': 'onMouseLeaveBtn'
20
-
21
- constructor : ->
22
- super
23
- @prepend (require '../../views/presetslist-header'), $ '<span class="after">'
24
- @toggleState()
25
-
26
- hasPendingChange: => @list.pending
27
-
28
- initSave: ->
29
- @list.initSave()
30
-
31
- refresh: (skins) ->
32
- @list.refresh skins
33
-
34
- select: (id, force) -> @list.select id, force
35
-
36
- toggleState: =>
37
- do if @canExpand and @state is 'expanded' then @editSkinState else @expand
38
-
39
- expand: =>
40
- return @initSave() if @hasPendingChange()
41
- @btn.addClass 'no-hover'
42
- @el.addClass 'expanded'
43
- @list.setState @state = 'expanded'
44
-
45
- editSkinState: =>
46
- @btn.addClass 'no-hover'
47
- @el.removeClass 'expanded'
48
- @list.setState @state = 'contracted'
49
-
50
- toggleBtn: (toggle) =>
51
- @btn.toggleClass 'no-action', if toggle? and typeof toggle is 'boolean' then toggle else @hasPendingChange()
52
-
53
- hideEditBtn: =>
54
- @canExpand = !@btn.hide()
55
-
56
- onMouseLeaveBtn: =>
57
- @btn.removeClass 'no-hover'
58
-
59
- module.exports = Selector