function(confirmation) {
   if (confirmation.get('choice')) {
     let loadingview = new LoadingView()
     this.model.url = './internal/forms/' + this.model.get('id')
     const id = this.model.get('id')
     this.model.destroy({
       data: JSON.stringify({
         'metacard.owner': this.model.get('createdBy'),
       }),
       contentType: 'application/json',
       wait: true,
       error: function(model, xhr, options) {
         announcement.announce(
           {
             title: 'Error!',
             message: 'Unable to delete the forms: ' + xhr.responseText,
             type: 'error',
           },
           2500
         )
         throw new Error('Error Deleting Template: ' + xhr.responseText)
       }.bind(this),
       success: function(model, xhr, options) {
         this.options.collectionWrapperModel.deleteCachedTemplateById(
           this.model.id
         )
       }.bind(this),
     })
     loadingview.remove()
     const template = user.getQuerySettings().get('template')
     if (!template) {
       user.getQuerySettings().set('type', 'text')
       user.savePreferences()
       this.options.queryModel.resetToDefaults()
     } else if (id === template.id) {
       this.handleClearDefault()
       this.options.queryModel.resetToDefaults()
     } else {
       const defaults = {
         type: 'custom',
         title: template.name,
         filterTree: template.filterTemplate,
         src:
           (template.querySettings && template.querySettings.src) || '',
         federation:
           (template.querySettings &&
             template.querySettings.federation) ||
           'enterprise',
         sorts: template.sorts,
         'detail-level':
           (template.querySettings &&
             template.querySettings['detail-level']) ||
           'allFields',
       }
       this.options.queryModel.resetToDefaults(defaults)
     }
   }
 }.bind(this)
 initialize: function() {
   this.listenTo(
     user.getQuerySettings(),
     'change',
     this.checkIfDefaultSearchForm
   )
 },
Beispiel #3
0
  autoLoadDefaultIfSet: function() {
    let userDefaultTemplate = user.getQuerySettings().get('template')
    if (userDefaultTemplate) {
      let sorts =
        userDefaultTemplate['querySettings'] &&
        userDefaultTemplate['querySettings'].sorts
      if (sorts) {
        sorts = sorts.map(sort => ({
          attribute: sort.split(',')[0],
          direction: sort.split(',')[1],
        }))
      }
      this.model.set({
        type: 'custom',
        title: userDefaultTemplate['name'],
        filterTree: userDefaultTemplate['filterTemplate'],
        src:
          (userDefaultTemplate['querySettings'] &&
            userDefaultTemplate['querySettings'].src) ||
          '',
        federation:
          (userDefaultTemplate['querySettings'] &&
            userDefaultTemplate['querySettings'].federation) ||
          'enterprise',
        sorts: sorts,
        'detail-level':
          (userDefaultTemplate['querySettings'] &&
            userDefaultTemplate['querySettings']['detail-level']) ||
          'allFields',
      })

      this.showCustom()
    }
  },
 handleClearDefault: function() {
   user.getQuerySettings().set({
     template: undefined,
     type: 'text',
   })
   user.savePreferences()
   this.messageNotifier('Success!', `Default Query Form Cleared`, 'success')
 },
 handleMakeDefault: function() {
   user.getQuerySettings().set({
     type: 'custom',
     template: this.model.toJSON(),
   })
   user.savePreferences()
   this.messageNotifier(
     'Success!',
     `\"${this.model.get('name')}\" Saved As Default Query Form`,
     'success'
   )
 },
 checkIfDefaultSearchForm: function() {
   this.$el.toggleClass(
     'is-current-template',
     user.getQuerySettings().isTemplate(this.model)
   )
 },
Beispiel #7
0
 updateQueryType: function(){
     let type = this.typeSelector.currentView.model.getValue()[0];
     this.model.set('type', type);
     user.getQuerySettings().set('type', type);
     user.savePreferences();
 },