def render(self): """ Возвращает "кусок" javascript кода, который используется для отображения самого компонента. За рендер полного javascript отвечает метод get_script() :rtype: str """ self.pre_render() return render_component(self)
def render(self): self.store.url = self.store.url or self.url_data assert self.store.url or self.action_data, 'Action data is not defined' # тонкая настройка self.store if not self.store.url and self.action_data: self.store.url = get_url(self.action_data) self.render_base_config() self.render_params() return render_component(self)
def render(self): """ Переопределяем рендер дерева для того, чтобы модифицировать содержимое его панелей и контекстных меню """ if self.action_new: self.context_menu_row.items.append( self.context_menu_row.menuitem_new) self.context_menu_row.items.append( self.context_menu_row.menuitem_new_child) self.context_menu_tree.items.append( self.context_menu_tree.menuitem_new) if self.action_edit: self.context_menu_row.items.append( self.context_menu_row.menuitem_edit) self.handler_dblclick = self.dblclick_handler if self.action_delete: self.context_menu_row.items.append( self.context_menu_row.menuitem_delete) # контекстное меню прицепляется к гриду только в том случае, если # в нем есть хотя бы один пункт if self.context_menu_tree.items: self.handler_contextmenu = self.context_menu_tree if self.context_menu_row.items: self.handler_rowcontextmenu = self.context_menu_row #====================================================================== # Настройка top bar #====================================================================== for action, btn in ( (self.action_new, self.top_bar.add_menu), (self.action_edit, self.top_bar.button_edit), (self.action_delete, self.top_bar.button_delete), (self.action_data, self.top_bar.button_refresh), ): if not action and btn in self.top_bar.items: self.top_bar.items.remove(btn) # тонкая настройка self.store if not self.url and self.action_data: self.url = get_url(self.action_data) self.render_base_config() self.render_params() return render_component(self)
def render(self): """ Переопределяем рендер грида для того, чтобы модифицировать содержимое его панелей и контекстных меню """ if self.action_new or self.url_new: self.context_menu_row.items.append( self.context_menu_row.menuitem_new) self.context_menu_grid.items.append( self.context_menu_grid.menuitem_new) if self.action_edit or self.url_edit: self.context_menu_row.items.append( self.context_menu_row.menuitem_edit) self.handler_dblclick = self.dblclick_handler if self.action_delete or self.url_delete: self.context_menu_row.items.append( self.context_menu_row.menuitem_delete) # контекстное меню прицепляется к гриду только в том случае, если # в нем есть хотя бы один пункт if self.context_menu_grid.items: self.handler_contextmenu = self.context_menu_grid if self.context_menu_row.items: self.handler_rowcontextmenu = self.context_menu_row #====================================================================== # Настройка top bar #====================================================================== def remove(this): if this in self.top_bar.items: self.top_bar.items.remove(this) # @TODO: Отрефакторить данный метод, чтобы он был не в рендеринге if (not self.action_data and not self.url_data and self.top_bar.button_refresh in self.top_bar.items): remove(self.top_bar.button_refresh) if (not self.action_delete and not self.url_delete and self.top_bar.button_delete in self.top_bar.items): remove(self.top_bar.button_delete) if (not self.action_edit and not self.url_edit and self.top_bar.button_edit in self.top_bar.items): remove(self.top_bar.button_edit) if (not self.action_new and not self.url_new and self.top_bar.button_new in self.top_bar.items): remove(self.top_bar.button_new) # тонкая настройка self.store if not self.store.url and self.action_data: self.store.url = get_url(self.action_data) if self.url_data: self.store.url = self.url_data # Стор может быть пустой # assert self.store.url, 'Url for store or action_data is not define' if self.allow_paging: # Значение self.store.start и так будет равно 0 # Если store не экземпляр ExtJsonStore, # то у него нет атрибута limit if hasattr(self.store, 'limit'): self.store.limit = (self.store.limit if self.store.limit > 0 else 25) self.bottom_bar = self.paging_bar self.render_base_config() self.render_params() return render_component(self)
def render(self): """ Переопределяем рендер грида для того, чтобы модифицировать содержимое его панелей и контекстных меню """ if self.action_new or self.url_new: self.context_menu_row.items.append( self.context_menu_row.menuitem_new) self.context_menu_grid.items.append( self.context_menu_grid.menuitem_new) if self.action_edit or self.url_edit: self.context_menu_row.items.append( self.context_menu_row.menuitem_edit) self.handler_dblclick = self.dblclick_handler if self.action_delete or self.url_delete: self.context_menu_row.items.append( self.context_menu_row.menuitem_delete) # контекстное меню прицепляется к гриду только в том случае, если # в нем есть хотя бы один пункт if self.context_menu_grid.items: self.handler_contextmenu = self.context_menu_grid if self.context_menu_row.items: self.handler_rowcontextmenu = self.context_menu_row #====================================================================== # Настройка top bar #====================================================================== def remove(this): if this in self.top_bar.items: self.top_bar.items.remove(this) # @TODO: Отрефакторить данный метод, чтобы он был не в рендеринге if (not self.action_data and not self.url_data and self.top_bar.button_refresh in self.top_bar.items): remove(self.top_bar.button_refresh) if (not self.action_delete and not self.url_delete and self.top_bar.button_delete in self.top_bar.items): remove(self.top_bar.button_delete) if (not self.action_edit and not self.url_edit and self.top_bar.button_edit in self.top_bar.items): remove(self.top_bar.button_edit) if (not self.action_new and not self.url_new and self.top_bar.button_new in self.top_bar.items): remove(self.top_bar.button_new) # тонкая настройка self.store if not self.store.url and self.action_data: self.store.url = get_url(self.action_data) if self.url_data: self.store.url = self.url_data # Стор может быть пустой # assert self.store.url, 'Url for store or action_data is not define' if self.allow_paging: # Значение self.store.start и так будет равно 0 # Если store не экземпляр ExtJsonStore, # то у него нет атрибута limit if hasattr(self.store, 'limit'): self.store.limit = ( self.store.limit if self.store.limit > 0 else 25) self.bottom_bar = self.paging_bar self.render_base_config() self.render_params() return render_component(self)