コード例 #1
0
 def drop(self):
   """  """
   ajaxObject = AresJs.XsCallFile(self.reportName)
   ajaxObject.url = 'upload'
   ajaxObject.async = 'false'
   ajaxObject.success('location.href = "/reports/page/%s";' % self.reportName)
   return ajaxObject.ajax('form_data')
コード例 #2
0
 def js(self, evenType, jsDef, url=None):
     """ Add a Javascript Event to an HTML object """
     self.aresObj.jsOnLoadFnc.add(
         AresJs.JQueryEvents(self.htmlId,
                             self.jqId,
                             evenType,
                             jsDef,
                             url=url))
コード例 #3
0
 def jsFromFile(self, evenType, fileName, variables=None):
     """ Add a Javascript even by loading a file """
     jsFile = open(
         os.path.join(self.aresObj.http["DIRECTORY"], 'js', fileName))
     jsDef = jsFile.read()
     if variables is not None:
         jsDef = jsDef % variables
     self.jsEvent[evenType] = AresJs.JQueryEvents(self.htmlId, self.jqId,
                                                  evenType, jsDef)
コード例 #4
0
 def json(self, evenType, url, data, jsDef):
     """
   Special function to input Json data
   http://api.jquery.com/jquery.getjson/
 """
     data = 'eval(%s)' % json.dumps(data)
     jsDef = '$.getJSON("%s", %s, function(data) { %s });' % (url, data,
                                                              jsDef)
     self.jsEvent[evenType] = AresJs.JQueryEvents(self.htmlId,
                                                  self.jqId,
                                                  evenType,
                                                  jsDef,
                                                  data=data,
                                                  url=url)
コード例 #5
0
 def post(self, evenType, url, data, jsDef, preAjaxJs='', redirectUrl=''):
     """
   Post method to get data directly by interacting with the page
   https://api.jquery.com/jquery.post/
 """
     data = '%s' % json.dumps(data)
     jsDef = '%s $.post("%s", %s, function(data) { %s } );' % (
         preAjaxJs, url, data, jsDef)
     self.jsEvent[evenType] = AresJs.JQueryEvents(self.htmlId,
                                                  self.jqId,
                                                  evenType,
                                                  jsDef,
                                                  data=data,
                                                  url=url)
コード例 #6
0
  def post(self, evenType, url, data, jsDef, dstFolder, preAjaxJs=''):
    """
      Post method to get data directly by interacting with the page
      https://api.jquery.com/jquery.post/

    """
    jsRef = self.jqId
    if evenType == 'click':
      #jsDef = '$("#value_%s").val(%s); %s' % (self.htmlId, self.jsVal(), jsDef)
      jsRef = "$('#button_%s')" % self.htmlId
    jsDef = '''
        var file = $('#%s').prop('files')[0]; // FileList object.
        var form_data = new FormData();
        form_data.append('file_0', file);
        form_data.append('DESTINATION', '%s');
        %s
        $.ajax({url: "%s", method: "POST", data: form_data, contentType: false, cache: false, processData: false, async: false}).done(function(data) {%s location.reload(); } );
                ''' % (self.htmlId, dstFolder, preAjaxJs, url, jsDef)
    self.aresObj.jsOnLoadFnc.add(AresJs.JQueryEvents(self.htmlId, jsRef, evenType, jsDef, data=data, url=url))
コード例 #7
0
 def update_cell(self):
     """ Update a cell in the table """
     jsFnc = '''
             var html = '<div id="dialog" title="update value">' ;
             html = html + '<div class="form-group">';
             html = html + '<label for="formgroupexampleinput">example label</label>';
             html = html + '<input id="temp_cell" type="text" class="form-control">';
             html = html + '</div>';
             html = html + '<button type="submit" id="temp_submit" class="btn btn-primary">submit</button>' ;
             html = html + '</div>';
             $('body').append(html) ;
             $('#temp_cell').val($(event.target).html());
             $("#dialog").dialog();
             // Update the data to the table
             $( "#temp_submit" ).on( "click", { item: $(event.target) }, function (event){
                 event.data.item.html($('#temp_cell').val());
                 $( "#dialog" ).remove();
             });
         '''
     self.aresObj.jsFnc.add(
         AresJs.JQueryEvents(self.htmlId, "$('#%s td')" % self.htmlId,
                             'dblclick', jsFnc))
コード例 #8
0
 def row_dblclick(self, jsFnc):
     """ Add an event on the cells, $(this).html() will return the selected value """
     self.aresObj.jsFnc(
         AresJs.JQueryEvents(self.htmlId, "$('#%s tr')" % self.htmlId,
                             'dblclick', jsFnc))