Beispiel #1
0
 def _set_selelcted(self, row):
     if self.selected_row is None: return
     index = self.data['rows'].index(self.selected_row)
     if self.key_column is not None and self.key_column in self.data[
             'field_names']:
         key_column_index = self.data['field_names'].index(self.key_column)
     else:
         key_column_index = 0
     item_name = self.data['rows'][index][key_column_index]
     if row is None:
         self.data['rows'][index:index + 1] = []
         self._set_data(self.data)
         window.info_toast('已删除' + self.item_name + ': ' + item_name)
     else:
         if self.var_column is not None and self.var_column.strip() != '':
             var = row['rows'][0][0]
             var_column_index = self.data['field_names'].index(
                 self.var_column)
             if self.selected_row[var_column_index] == var: return
             self.selected_row[var_column_index] = var
         else:
             row = row['rows'][0]
             for i, v in enumerate(row):
                 self.selected_row[i] = v
         self._set_data(self.data)
         window.info_toast('已修改' + self.item_name + ': ' + item_name)
     if self.event_listener is not None:
         self.event_listener('change', 'data')
Beispiel #2
0
 def on_delete_item(name):
     for i, row in enumerate(rows):
         if name == row[key_column_index]:
             rows[i:i + 1] = []
             self._set_data(self.data)
             if self.event_listener is not None:
                 self.event_listener('change', 'data')
                 window.info_toast('已删除' + self.item_name + ': ' + name)
             break
     else:
         window.error_toast('不能删除不存在的' + self.item_name + ': ' + name)
Beispiel #3
0
 def on_add_item(name):
     row = ['' for i in range(len(field_names))]
     row[key_column_index] = name
     rows.append(row)
     self._set_data(self.data)
     if self.event_listener is not None:
         self.event_listener('change', 'data')
         window.info_toast('已添加' + self.item_name + ': ' + name)
     if len(list_group.children) > 2 and select_item(
             list_group.children[-2]):
         set_selected_row(row)
Beispiel #4
0
 def onload_callback(ev):
     if xhr.status == 200:
         reply = JSON.parse(xhr.responseText)
         if 'url' in reply:
             if self.event_listener is not None:
                 self.event_listener('add', reply['url'])
             window.info_toast('已上传' + str(files.length) + '个文件')
             return
         if 'error' in reply:
             window.error_toast('上传失败: ' + reply['error'])
     else:
         window.error_toast('上传失败')
Beispiel #5
0
 def on_moveup_item(name):
     for i, row in enumerate(rows):
         if name == row[key_column_index]:
             if i == 0:
                 window.error_toast('不能上移第一个' + self.item_name + ': ' +
                                    name)
                 return
             rows[i], rows[i - 1] = rows[i - 1], rows[i]
             self._set_data(self.data)
             if self.event_listener is not None:
                 self.event_listener('change', 'data')
                 window.info_toast('已上移' + self.item_name + ': ' + name)
             break
     else:
         window.error_toast('不能上移不存在的' + self.item_name + ': ' + name)
		def on_add_item(name):
			for row in rows:
				if row[key_column_index] == name:
					item_name = '项' if self.item_name is None else self.item_name
					window.error_toast('已存在的'+item_name+': '+name)
					return
			row = ['' for i in range(len(field_names))]
			row[key_column_index] = name
			rows.append(row)
			self._set_data(self.data)
			if self.event_listener is not None:
				self.event_listener('change', 'data')
				self.event_listener('change_data', None)
				if self.item_name is not None:
					window.info_toast('已添加'+self.item_name+': ' + name)
			if len(list_group.children) > 2 and select_item(list_group.children[-2]):
				self._set_selected_row(row)
		def on_rename_item(name, new_name):		
			for row in rows:
				if row[key_column_index] == new_name:
					item_name = '项' if self.item_name is None else self.item_name
					window.error_toast('不能重命名为已存在的'+item_name+': '+new_name)
					return
			for i,row in enumerate(rows):
				if name == row[key_column_index]:
					row[key_column_index] = new_name
					self._set_data(self.data)
					if self.event_listener is not None:
						self.event_listener('change', 'data')
						self.event_listener('change_data', None)
						if self.item_name is not None:
							window.info_toast('已重命名'+self.item_name+': ' + name + ' -> ' + new_name)
					break
			else:
				item_name = '项' if self.item_name is None else self.item_name
				window.error_toast('不能重命名不存在的'+item_name+': '+name)
	def _set_selected(self, row):
		if self.selected_row is None: return
		index = self.data['rows'].index(self.selected_row)
		if self.key_column is not None:
			if self.key_column in self.data['field_names']:
				key_column_index = self.data['field_names'].index(self.key_column)
			else:
				key_column_index = int(self.key_column)
		else:
			key_column_index = 0
		item_name = self.data['rows'][index][key_column_index]	
		if row is None:
			self.data['rows'][index:index+1] = []
			self._set_data(self.data)
			self._event_listener_data()
			if self.item_name is not None:
				window.info_toast('已删除'+self.item_name+': ' + item_name)
		else:
			super(ui_select_panel_py, self)._set_selected(row)
			if self.item_name is not None:
				window.info_toast('已修改'+self.item_name+': ' + item_name)
Beispiel #9
0
 def on_pwd_updated(data):
     if 'error' in data:
         window.error_toast(data['error'])
     else:
         window.info_toast('密码已修改.')