1

私は、作成した経験のないプログラミングの難しさを達成する方法を探すためのガイダンスを探しています。

Plugin Bulk Delete and CloseというカスタムプラグインでSpiceworksを使用して いますが、正常に動作しますが、追加のロジックが必要です。チケットのスクリーンショットでリレーションを指定できるマスター番号というカスタム属性があります。

同じマスター番号ですべてを閉じるためにチケットが選択された場合の方法を探しています。ええと、私のプログラミングは非常に限られており、プロトタイプから始めて、jqueryについて1か月半読んでいます。どんな助けや指示も私が必要とするすべてですこれはおそらく非常に単純ですが私にとってはそうではありません。

 SPICEWORKS.app.helpdesk.ready(function(){

if(document.URL.indexOf("Master_View") >= 0){


  if ($('Multi-Toolbar') === null)
  {
 var toolbarDInsert = '<a class="delete toolbar_buton" href="#" id="plugin-Dactions">';
  var toolbarCInsert = '<a class="clopen toolbar_buton" href="#" id="plugin-Cactions"><span class="inner icon">Close/Open Ticket(s)</span></a>';
  var cbInsert = '<span style="float:left;"><input type="checkbox" class="plugin-operation" name="cbselection" /></span>';
  var HdInsert = 'div#ticket-list-body table tr td.cell-status';
  var thinsert = '<div id="Multi-Toolbar" class="sui-toolbar"><tr><th><input type="checkbox" id="plugin-all" /></th></tr></div>';
  plugin.includeStyles();  

  $('primary').insert({top:thinsert});
  $('Multi-Toolbar').insert(toolbarCInsert);
  $('Multi-Toolbar').insert(toolbarDInsert);  

    var insertcheckbox = function(actions){
    actions.style.width = '2.5em';
    actions.insert({top:cbInsert});
    };

    $$(HdInsert).each(insertcheckbox);


  $('plugin-Cactions').observe('click', function(event){
    event.stop();
    var entries = $$('input.plugin-operation').select(function(input){


      return input.checked;
    }).collect(function(input){
      return input.up('tr').id.replace('ticket-', '');
    });
    if(entries.size() > 0){    
    var answer = confirm('You are about to Close / Open ' + entries.size() + ' Ticket(s) Relying on the Ticket(s) state. \nContinue ?') ;   
    if (answer){
      entries.each(function(entry){ new Ajax.Request('/tickets/toggle_status/' + entry);

      });
    }}  
    if(entries.size() <= 0){
    alert('No ticket(s) selected, please select at least one ticket');    
    }
  });

  $('plugin-all').observe('click',function (e) {
  var toggle = $('plugin-all').checked;
  $$('div#ticket-list-body input[type=checkbox]').each(function(check) {
  check.checked = toggle;
  });
});  
}
}
});
4

0 に答える 0