diff --git a/internal_packages/composer-templates/lib/preferences-templates.cjsx b/internal_packages/composer-templates/lib/preferences-templates.cjsx deleted file mode 100644 index 92cbb8381..000000000 --- a/internal_packages/composer-templates/lib/preferences-templates.cjsx +++ /dev/null @@ -1,265 +0,0 @@ -_ = require 'underscore' -{Contenteditable, RetinaImg, Flexbox} = require 'nylas-component-kit' -{AccountStore, Utils, React} = require 'nylas-exports' -TemplateStore = require './template-store' -TemplateEditor = require './template-editor' - -class PreferencesTemplates extends React.Component - @displayName: 'PreferencesTemplates' - - constructor: (@props) -> - @_templateSaveQueue = {} - - {templates, selectedTemplate, selectedTemplateName} = @_getStateFromStores() - @state = - editAsHTML: false - editState: if templates.length==0 then "new" else null - templates: templates - selectedTemplate: selectedTemplate - selectedTemplateName: selectedTemplateName - contents: null - - componentDidMount: -> - @usub = TemplateStore.listen @_onChange - - componentWillUnmount: -> - @usub() - if @state.selectedTemplate? - @_saveTemplateNow(@state.selectedTemplate.name, @state.contents) - - - - #SAVING AND LOADING TEMPLATES - _loadTemplateContents: (template) => - if template - TemplateStore.getTemplateContents(template.id, (contents) => - @setState({contents: contents}) - ) - - _saveTemplateNow: (name, contents, callback) => - TemplateStore.saveTemplate(name, contents, callback) - - _saveTemplateSoon: (name, contents) => - @_templateSaveQueue[name] = contents - @_saveTemplatesFromCache() - - __saveTemplatesFromCache: => - for name, contents of @_templateSaveQueue - @_saveTemplateNow(name, contents) - - @_templateSaveQueue = {} - - _saveTemplatesFromCache: _.debounce(PreferencesTemplates::__saveTemplatesFromCache, 500) - - - - # OVERALL STATE HANDLING - _onChange: => - @setState @_getStateFromStores() - - _getStateFromStores: -> - templates = TemplateStore.items() - #selectedTemplate = _.findWhere(templates, {id: @state?.selectedTemplate?.id}) || templates[0] - - selectedTemplate = @state?.selectedTemplate - # deleted - if selectedTemplate? and selectedTemplate.id not in _.pluck(templates, "id") - selectedTemplate = null - # none selected - else if not selectedTemplate - selectedTemplate = if templates.length > 0 then templates[0] else null - @_loadTemplateContents(selectedTemplate) - if selectedTemplate - selectedTemplateName = @state?.selectedTemplateName || selectedTemplate.name - return {templates, selectedTemplate, selectedTemplateName} - - - - # TEMPLATE CONTENT EDITING - - _onEditTemplate: (event) => - html = event.target.value - @setState contents: html - if @state.selectedTemplate? - @_saveTemplateSoon(@state.selectedTemplate.name, html) - - - _onSelectTemplate: (event) => - if @state.selectedTemplate? - @_saveTemplateNow(@state.selectedTemplate.name, @state.contents) - selectedTemplate = null - for template in @state.templates - if template.id == event.target.value - selectedTemplate = template - @setState - selectedTemplate: selectedTemplate - selectedTemplateName: selectedTemplate?.name - contents: null - @_loadTemplateContents(selectedTemplate) - - _renderTemplatePicker: -> - options = @state.templates.map (template) -> - - - - - _renderEditableTemplate: -> - - - _renderHTMLTemplate: -> -