コード例 #1
0
    def _init_cells_(self):
        ticker_label_div = MyHTML.div('my_recommender_position_label_div', 'Position:', True)
        ticker_div = MyHTML.div('my_recommender_position_div', '', False)

        self.set_value(1, 1, MyHTML.div_embedded([ticker_label_div, MyHTML.span(' '), ticker_div]))
        self.set_value(1, 2, MyDCC.markdown('my_recommender_markdown'))
        self.set_value(1, 3, MyDCC.markdown('my_recommender_news_markdown'))
コード例 #2
0
 def __init__(self, app: Dash, sys_config: SystemConfiguration,
              trade_handler_online: PatternTradeHandler):
     MyPatternDashBaseTab.__init__(self, app, sys_config)
     self.exchange_config = self.sys_config.exchange_config
     self._trade_handler_online = trade_handler_online
     self._df_trade = self.sys_config.db_stock.get_trade_records_for_replay_as_dataframe(
     )
     self._df_trade_for_replay = self._df_trade[
         TradeTable.get_columns_for_replay()]
     self._trade_rows_for_data_table = MyDCC.get_rows_from_df_for_data_table(
         self._df_trade_for_replay)
     self._df_pattern = self.sys_config.db_stock.get_pattern_records_for_replay_as_dataframe(
     )
     self._df_pattern_for_replay = self._df_pattern[
         PatternTable.get_columns_for_replay()]
     self._pattern_rows_for_data_table = MyDCC.get_rows_from_df_for_data_table(
         self._df_pattern_for_replay)
     self.__init_selected_row__()
     self.__init_replay_handlers__()
     self._selected_pattern_trade = None
     self._selected_buy_trigger = None
     self._selected_trade_strategy = None
     self._n_click_restart = 0
     self._n_click_cancel_trade = 0
     self._n_click_reset = 0
     self._replay_speed = 4
     self._trades_stored_number = 0
     self._trades_online_active_number = 0
     self._trades_online_all_number = 0
     self._pattern_stored_number = 0
     self._cached_trade_table = None
     self._time_stamp_last_ticker_refresh = MyDate.time_stamp_now()
     self._check_actual_trades_for_trade_handler_online_n_intervals = -1
     self._print_callback_start_details = False
コード例 #3
0
    def _init_cells_(self):
        ticker_label_div = MyHTML.div('my_trade_ticker_label_div', 'Ticker:', True)
        ticker_div = MyHTML.div('my_trade_ticker_div', '', False)

        self.set_value(1, 1, MyHTML.div_embedded([ticker_label_div, MyHTML.span(' '), ticker_div]))
        self.set_value(1, 2, MyDCC.markdown('my_trade_markdown'))
        self.set_value(1, 3, MyDCC.markdown('my_trade_news_markdown'))
コード例 #4
0
 def __get_div_for_app_layout__(self):
     children_list = [
         MyHTMLHeaderTable().get_table(),
         MyDCC.interval(
             'my_interval_timer',
             self.bitfinex_config.ticker_refresh_rate_in_seconds),
         MyDCC.interval('my_interval_refresh', 120),
         self.__get_tabs_for_app__()
     ]
     return MyHTML.div('my_app', children_list)
コード例 #5
0
    def _init_cells_(self):
        online_label_div = MyHTML.div(self.my_search_online_label_div,
                                      'Online Search', True)
        online_value_div = MyHTML.div(self.my_search_online_value_div, '',
                                      False)

        found_label_div = MyHTML.div(self.my_search_found_label_div, 'Found:',
                                     True)
        found_valid_value_div = MyHTML.div(
            self.my_search_found_valid_value_div, '0')
        found_all_value_div = MyHTML.div(self.my_search_found_all_value_div,
                                         '0')

        found_div = MyHTML.div_embedded([
            found_label_div,
            MyHTML.span(' '), found_valid_value_div,
            MyHTML.span('/'), found_all_value_div
        ],
                                        inline=True)

        self.set_value(
            1, 1,
            MyHTML.div_embedded(
                [online_label_div,
                 MyHTML.span(' '), online_value_div]))
        self.set_value(1, 2, MyDCC.markdown(self.my_search_markdown))
        self.set_value(1, 3, MyHTML.div_embedded([found_div,
                                                  MyHTML.span(' ')]))
 def _init_cells_(self):
     chart_label_div = MyHTML.div('my_pattern_statistics_chart_label_div',
                                  'Chart:', True)
     chart_div = MyHTML.div('my_pattern_statistics_chart_type_div', '',
                            False)
     statistics_label_div = MyHTML.div('my_pattern_statistics_label_div',
                                       'Pattern:', True)
     statistics_div = MyHTML.div('my_pattern_statistics_div', '0')
     statistics_summary_div = MyHTML.div_embedded(
         [statistics_label_div,
          MyHTML.span(' '), statistics_div])
     statistics_detail_label_div = MyHTML.div(
         'my_pattern_statistics_detail_label_div', 'Type:', True)
     statistics_detail_div = MyHTML.div('my_pattern_statistics_detail_div',
                                        '0')
     statistics_detail_summary_div = MyHTML.div_embedded([
         statistics_detail_label_div,
         MyHTML.span(' '), statistics_detail_div
     ])
     self.set_value(
         1, 1,
         MyHTML.div_embedded([chart_label_div,
                              MyHTML.span(' '), chart_div]))
     self.set_value(1, 2, MyDCC.markdown('my_pattern_statistics_markdown'))
     self.set_value(
         1, 3,
         MyHTML.div_embedded(
             [statistics_summary_div, statistics_detail_summary_div]))
 def __get_chart_type_heatmap__(self):
     graph_list = []
     if self._index in ['', INDICES.ALL]:
         index_list = [
             INDICES.CRYPTO_CCY, INDICES.DOW_JONES, INDICES.NASDAQ100,
             INDICES.Q_FSE
         ]
         # ToDo Check if Q_FSE works...
     else:
         index_list = [self._index]
     for index in index_list:
         index_for_key = index.replace(' ', '_').lower()
         index_for_key = index_for_key if self._index == '' else '{}_{}'.format(
             index_for_key, 'single')
         chart_id = '{}_{}'.format(self._chart_id, index_for_key)
         # print('__get_chart_type_heatmap__: chart_id={}'.format(chart_id))
         chart_name = index
         graph_api = DccGraphApi(chart_id, chart_name)
         graph_api.figure_data = self.__get_heatmap_figure_data__(index)
         graph_api.figure_layout_height = 200
         graph_api.figure_layout_margin = {
             'b': 50,
             'r': 50,
             'l': 50,
             't': 50
         }
         graph_list.append(MyDCC.graph(graph_api))
     return graph_list
コード例 #8
0
 def __get_chart_type_stack_group__(self):
     graph_api = DccGraphApi(self._chart_id, '{} ({})'.format(self._chart_name, 'Assets'))
     graph_api.figure_data = self.__get_stack_group_figure_data__()
     # print(graph_api.figure_data)
     graph_api.figure_layout_x_axis_dict = self.__get_figure_layout_x_axis_dict__()
     graph_api.figure_layout_y_axis_dict = self.__get_figure_layout_y_axis_dict__(graph_api)
     return [MyDCC.graph(graph_api)]
コード例 #9
0
 def __get_dcc_graph_element__(self, detector, graph_api: DccGraphApi):
     pattern_df = graph_api.df
     pattern_list = detector.pattern_list if detector else [
         graph_api.pattern_trade.pattern
     ]
     # print('Pattern_list={}'.format(pattern_list))
     period = detector.sys_config.period if detector else graph_api.period
     # print('_period={} from detector:{}'.format(_period, detector is None))
     candlestick = self.__get_candlesticks_trace__(pattern_df,
                                                   graph_api.ticker_id,
                                                   period)
     # print(candlestick)
     shapes = self.__get_pattern_shape_list__(pattern_list)
     shapes += self.__get_pattern_regression_shape_list__(pattern_list)
     if detector:
         shapes += self.__get_fibonacci_shape_list__(detector)
         shapes += self.__get_wave_peak_shape_list__(detector)
     if graph_api.pattern_trade:
         # graph_api.pattern_trade.ticker_actual.print_ticker('__get_pattern_trade_shape_list__...: last ticker')
         shapes += self.__get_pattern_trade_shape_list__(
             graph_api.pattern_trade)
     if (graph_api.indicator == INDI.BOLLINGER
             or True) and detector is not None:
         indicator_shape_list = self.__get_indicator_shape_list__(
             detector, graph_api.indicator)
         shapes += indicator_shape_list
     graph_api.figure_layout_shapes = [
         my_shapes.shape_parameters for my_shapes in shapes
     ]
     # print(' graph_api.figure_layout_shapes: {}'.format( graph_api.figure_layout_shapes))
     graph_api.figure_layout_annotations = [
         my_shapes.annotation_parameters for my_shapes in shapes
     ]
     graph_api.figure_data = [candlestick]
     return MyDCC.graph(graph_api)
コード例 #10
0
    def _init_cells_(self):
        id_label_div = MyHTML.div(self.my_sales_id_label_div, 'Sale ID:', True)
        id_value_div = MyHTML.div(self.my_sales_id_value_div, '', False)

        found_label_div = MyHTML.div(self.my_sales_found_label_div,
                                     'Available:', True)
        found_valid_value_div = MyHTML.div(self.my_sales_found_valid_value_div,
                                           '0')
        found_all_value_div = MyHTML.div(self.my_sales_found_all_value_div,
                                         '0')

        found_div = MyHTML.div_embedded([
            found_label_div,
            MyHTML.span(' '), found_valid_value_div,
            MyHTML.span('/'), found_all_value_div
        ],
                                        inline=True)

        self.set_value(
            1, 1,
            MyHTML.div_embedded([id_label_div,
                                 MyHTML.span(' '), id_value_div]))
        self.set_value(1, 2, MyDCC.markdown(self.my_sales_markdown))
        self.set_value(1, 3, MyHTML.div_embedded([found_div,
                                                  MyHTML.span(' ')]))
コード例 #11
0
 def __get_chart_type_area_winner_loser__(self):
     graph_api = DccGraphApi(self._chart_id, '{} ({})'.format(self._chart_name, 'winner & loser'))
     graph_api.figure_data = self.__get_area_winner_loser_figure_data__()
     graph_api.figure_layout_x_axis_dict = None  # dict(type='date',)
     graph_api.figure_layout_y_axis_dict = None  # dict(type='linear', range=[1, 100], dtick=20, ticksuffix='%')
     # graph_api.figure_layout_y_axis_dict = {'type': 'log', 'autorange': True}
     return [MyDCC.graph(graph_api)]
コード例 #12
0
 def __get_chart_type_pie__(self):
     graph_api_all = DccGraphApi(self._chart_id + '_all', self._chart_name + ' (all)')
     graph_api_all.figure_data = self.__get_pie_figure_data__('all')
     graph_api_winner = DccGraphApi(self._chart_id + '_winner', self._chart_name + ' (winner)')
     graph_api_winner.figure_data = self.__get_pie_figure_data__('winner')
     graph_api_loser = DccGraphApi(self._chart_id + '_loser', self._chart_name + ' (loser)')
     graph_api_loser.figure_data = self.__get_pie_figure_data__('loser')
     w_h, l_h = self.__get_winner_loser_heights__(graph_api_winner.values_total, graph_api_loser.values_total)
     graph_api_all.figure_layout_height = 800
     graph_api_winner.figure_layout_height = 800
     graph_api_loser.figure_layout_height = 800
     graph_api_loser.figure_layout_height *= w_h
     graph_api_loser.figure_layout_height *= l_h
     graph_api_all.figure_layout_margin = {'b': 200, 'r': 50, 'l': 50, 't': 50}
     graph_api_winner.figure_layout_margin = {'b': 200, 'r': 50, 'l': 50, 't': 50}
     graph_api_loser.figure_layout_margin = {'b': 200, 'r': 50, 'l': 50, 't': 50}
     return [MyDCC.graph(graph_api_all), MyDCC.graph(graph_api_winner), MyDCC.graph(graph_api_loser)]
コード例 #13
0
 def __get_html_div_with_date_picker_range__():
     return html.Div(
         [
             MyHTML.h3('Select start and end dates:'),
             MyDCC.get_date_picker_range('my_date_picker', datetime.today() - timedelta(days=160))
         ],
         style={'display': 'inline-block', 'vertical-align': 'bottom', 'height': 20}
     )
コード例 #14
0
 def get_div_for_tab(self):
     children_list = [
         self.__get_embedded_div_for_last_run_and_start_job_button__(),
         MyHTML.div_with_table(self._data_table_div,
                               self.__get_table_for_jobs__()),
         MyDCC.markdown(self._my_jobs_entry_markdown)
     ]
     return MyHTML.div('my_jobs_div', children_list)
コード例 #15
0
 def get_div_for_tab(self):
     children_list = [
         self._header_table.get_table(),
         MyHTML.div_with_input(element_id=self._my_sales_filter_input,
                               placeholder='Please enter filter for my sales...', size=500, height=27),
         MyHTML.div_with_button_link(self._my_sales_link, href='', title='', hidden='hidden'),
         MyHTML.div_with_html_button_submit(self._my_sales_show_detail_button, children='Details', hidden='hidden'),
         MyHTML.div_with_html_button_submit(self._my_sales_reset_button, children='Reset', hidden='hidden'),
         MyHTML.div_with_table(self._data_table_div, self.__get_sale_grid_table__()),
         MyDCC.markdown(self._my_sales_sale_entry_markdown),
         MyHTML.div_with_dcc_drop_down(**self._dd_handler.get_drop_down_parameters(SLDD.SALE_ENTITIES)),
         MyHTML.div(self._my_sales_regression_chart, self.__get_sales_regression_chart__(), inline=False),
         MyHTML.div_with_button_link(self._my_sales_similar_sale_link, href='', title='', hidden='hidden'),
         MyHTML.div_with_table(self._my_sales_similar_sale_grid_table_div, self.__get_similar_sale_grid_table__('')),
         MyDCC.markdown(self._my_sales_similar_sale_entry_markdown),
     ]
     return MyHTML.div(self._my_sales_div, children_list)
コード例 #16
0
 def get_chart_type_regression(self, master_sale: SalesmanSale):
     graph_api = DccGraphApi(self._chart_id,
                             '{}'.format(master_sale.title),
                             use_title_for_y_axis=False)
     graph_api.figure_data = self.__get_regression_figure_data__(
         master_sale)
     graph_api.figure_layout_x_axis_dict = self.__get_figure_layout_x_axis_dict__(
     )
     # graph_api.figure_layout_y_axis_dict = self.__get_figure_layout_y_axis_dict__(graph_api)
     return [MyDCC.graph(graph_api)]
コード例 #17
0
 def __get_table_for_log__(self):
     self._log_table.update_rows_for_selected_log_type(
         self._log_data_frame_dict, self._selected_log_type,
         self._selected_process, self._selected_process_step,
         self._selected_date_range)
     rows = self._log_table.get_rows_for_selected_items()
     min_height = self._log_table.height_for_display
     return MyDCC.data_table(self._data_table_name,
                             rows, [],
                             min_height=min_height)
コード例 #18
0
 def get_chart_type_scatter(self, title: str):
     graph_api = DccGraphApi(self._chart_id,
                             '{}: {}'.format(self._chart_name, title),
                             use_title_for_y_axis=False)
     graph_api.figure_data = self.__get_scatter_figure_data__()
     graph_api.figure_layout_x_axis_dict = self.__get_figure_layout_x_axis_dict__(
     )
     graph_api.figure_layout_y_axis_dict = self.__get_figure_layout_y_axis_dict__(
         graph_api)
     return [MyDCC.graph(graph_api)]
コード例 #19
0
 def __get_table_for_jobs__(self):
     self._grid_table = JobTable(self._job_handler)
     rows = self._grid_table.get_rows_for_selected_items()
     return MyDCC.data_table(self._data_table_name,
                             rows=rows,
                             columns=self._grid_table.columns,
                             style_cell_conditional=self._grid_table.
                             get_table_style_cell_conditional(),
                             style_data_conditional=self._grid_table.
                             get_table_style_data_conditional(rows),
                             page_size=100)
コード例 #20
0
 def __get_search_result_grid_table__(self):
     if len(self._online_rows) == 0:
         return 'Nothing found - please adjust your query...'
     columns = SLDC.get_columns_for_search_results()
     return MyDCC.data_table(
         self._elements.my_search_result_grid_table,
         rows=self._online_rows,
         style_cell_conditional=self.get_table_style_cell_conditional(),
         style_data_conditional=self.get_table_style_data_conditional(
             self._online_rows),
         columns=columns)
コード例 #21
0
 def __get_table_for_portfolio__(self):
     self.__set_portfolio_rows_for_data_table__()
     return MyDCC.data_table(
         self._data_table_name,
         rows=self._table_rows,
         selected_row_indices=[]
         if self._selected_row_index == -1 else [self._selected_row_index],
         style_cell_conditional=self.get_table_style_cell_conditional(),
         style_data_conditional=self.get_table_style_data_conditional(
             self._table_rows),
         columns=self.columns,
     )
コード例 #22
0
 def __get_table_for_log__(self):
     self._log_table.update_rows_for_selected_log_type(
         self._log_data_frame_dict, self._selected_log_type,
         self._selected_process, self._selected_process_step,
         self._selected_date_range)
     rows = self._log_table.get_rows_for_selected_items()
     return MyDCC.data_table(self._data_table_name,
                             rows=rows,
                             columns=self._log_table.columns,
                             style_data_conditional=self._log_table.
                             get_table_style_data_conditional(rows),
                             style_cell_conditional=self._log_table.
                             get_table_style_cell_conditional())
コード例 #23
0
 def get_div_for_tab(self):
     children_list = [
         self._header_table.get_table(),
         MyHTML.div_with_dcc_drop_down(
             **self._dd_handler.get_drop_down_parameters(
                 SRDD.SEARCH_SOURCE)),
         MyHTML.div_with_dcc_drop_down(
             **self._dd_handler.get_drop_down_parameters(
                 SRDD.SEARCH_REGION)),
         MyHTML.div_with_dcc_drop_down(
             **self._dd_handler.get_drop_down_parameters(
                 SRDD.SEARCH_CATEGORY)),
         MyHTML.div_with_dcc_drop_down(
             **self._dd_handler.get_drop_down_parameters(
                 SRDD.SEARCH_SUB_CATEGORY)),
         MyHTML.div_with_html_button_submit(
             self._elements.my_search_refresh_button,
             children='Refresh',
             hidden=''),
         MyHTML.div_with_html_element(
             self._elements.my_search_online_input_table,
             self._search_online_input_table.get_table()),
         MyDCC.markdown(self._elements.my_search_input_markdown),
         MyHTML.div_with_dcc_drop_down(
             **self._dd_handler.get_drop_down_parameters(
                 SRDD.SEARCH_ENTITIES)),
         MyHTML.div_with_button_link(
             self._elements.my_search_result_entry_link,
             href='',
             title='',
             hidden='hidden'),
         MyDCC.markdown(self._elements.my_search_test_markdown),
         MyHTML.div_with_table(
             self._elements.my_search_result_grid_table_div, ''),
         MyDCC.markdown(self._elements.my_search_result_entry_markdown),
         MyHTML.div(self._elements.my_search_result_graph_div, '', False),
     ]
     return MyHTML.div(self._elements.my_search_div, children_list)
    def _init_cells_(self):
        crypto_client_label_div = MyHTML.div(
            'my_models_crypto_client_label_div', 'Bitfinex:', bold=True)
        crypto_client_value_div = MyHTML.div('my_models_crypto_client_div',
                                             '0',
                                             bold=False)
        crypto_client_div = MyHTML.div_embedded([
            crypto_client_label_div,
            MyHTML.span(' '), crypto_client_value_div
        ])

        stock_client_label_div = MyHTML.div('my_models_stock_client_label_div',
                                            'IKBR:',
                                            bold=True)
        stock_client_value_div = MyHTML.div('my_models_stock_client_div',
                                            '0',
                                            bold=False)
        stock_client_div = MyHTML.div_embedded(
            [stock_client_label_div,
             MyHTML.span(' '), stock_client_value_div])

        crypto_client_trades_label_div = MyHTML.div(
            'my_models_crypto_client_trades_label_div',
            'Trades (Bitfinex):',
            bold=True)
        crypto_client_trades_value_div = MyHTML.div(
            'my_models_crypto_client_trades_div', '0', bold=False)
        crypto_client_trades_div = MyHTML.div_embedded([
            crypto_client_trades_label_div,
            MyHTML.span(' '), crypto_client_trades_value_div
        ])

        stock_client_trades_label_div = MyHTML.div(
            'my_models_stock_client_trades_label_div',
            'Trades (IBKR):',
            bold=True)
        stock_client_trades_value_div = MyHTML.div(
            'my_models_stock_client_trades_div', '0', bold=False)
        stock_client_trades_div = MyHTML.div_embedded([
            stock_client_trades_label_div,
            MyHTML.span(' '), stock_client_trades_value_div
        ])

        self.set_value(
            1, 1, MyHTML.div_embedded([crypto_client_div, stock_client_div]))
        self.set_value(1, 2, MyDCC.markdown('my_models_statistics_markdown'))
        self.set_value(
            1, 3,
            MyHTML.div_embedded(
                [crypto_client_trades_div, stock_client_trades_div]))
コード例 #25
0
    def _init_cells_(self):
        user_label_div = MyHTML.div('my_user_label_div', 'Username:'******'my_user_name_div', 'Josef Sertl', False)
        time_str = MyDate.get_time_from_datetime(datetime.now())

        login_label_div = MyHTML.div('my_login_label_div', 'Last login:'******'my_login_div', '{}'.format(time_str), False)

        http_connection_label_div = MyHTML.div('my_http_connection_label_div', 'Connection:', True, True)
        http_connection_div = MyHTML.div('my_http_connection_div', MyHttpClient.get_status_message(), False)

        my_user_div = MyHTML.div_embedded([user_label_div, MyHTML.span(' '), user_div])
        my_login_div = MyHTML.div_embedded([login_label_div, MyHTML.span(' '), login_time_div])
        my_http_connection_div = MyHTML.div_embedded([http_connection_label_div, MyHTML.span(' '), http_connection_div])

        dash_board_title_div = MyHTML.div('my_dashboard_title_div', 'Salesman Dashboard', inline=False)
        dash_board_sub_title_div = MyHTML.div('my_dashboard_sub_title_div', '', bold=False, color='red')

        time_label_div = MyHTML.div('my_time_label_div', 'Time:', True)
        time_value_div = MyHTML.div('my_time_div', '', False)
        time_div = MyHTML.div_embedded([time_label_div, MyHTML.span(' '), time_value_div])

        last_refresh_label_div = MyHTML.div('my_last_refresh_label_div', 'Last refresh:', True)
        last_refresh_time_div = MyHTML.div('my_last_refresh_time_div', time_str)
        last_refresh_div = MyHTML.div_embedded([last_refresh_label_div, MyHTML.span(' '), last_refresh_time_div])

        next_refresh_label_div = MyHTML.div('my_next_refresh_label_div', 'Next refresh:', True)
        next_refresh_time_div = MyHTML.div('my_next_refresh_time_div', time_str)
        next_refresh_div = MyHTML.div_embedded([next_refresh_label_div, MyHTML.span(' '), next_refresh_time_div])

        sales_label_div = MyHTML.div('my_sales_label_div', 'My Sales:', True)
        sales_active_div = MyHTML.div('my_sales_active_div', '0')
        sales_all_div = MyHTML.div('my_sales_all_div', '0')

        similar_sales_label_div = MyHTML.div('my_similar_sales_label_div', 'Similar Sales:', True)
        similar_sales_div = MyHTML.div('my_similar_sales_div', '0')

        trade_div = MyHTML.div_embedded([similar_sales_label_div, MyHTML.span(' '), similar_sales_div])

        online_div = MyHTML.div_embedded([
            sales_label_div, MyHTML.span(' '),
            sales_active_div, MyHTML.span('/'), sales_all_div], inline=True)

        self.set_value(1, 1, MyHTML.div_embedded([my_user_div, my_login_div, my_http_connection_div]))
        self.set_value(1, 2, MyHTML.div_embedded([dash_board_title_div, dash_board_sub_title_div]))
        self.set_value(1, 3, MyHTML.div_embedded([time_div, next_refresh_div, last_refresh_div]))
        self.set_value(2, 1, self.__get_timer__())
        self.set_value(2, 2, MyDCC.markdown('my_dashboard_markdown'))
        self.set_value(2, 3, MyHTML.div_embedded([online_div, trade_div]))
コード例 #26
0
 def __get_sale_grid_table__(self):
     if self._dd_handler.selected_sale_source == SLSRC.FILE:
         grid_table = self._sale_file_grid_table
     else:
         grid_table = self._sale_grid_table
     rows = grid_table.get_rows_for_selection(self._selection_api, False)
     min_height = grid_table.height_for_display
     return MyDCC.data_table(
         self._data_table_name,
         rows=rows,
         selected_row_indices=self._selected_row_indices,
         style_cell_conditional=grid_table.get_table_style_cell_conditional(),
         style_data_conditional=grid_table.get_table_style_data_conditional(rows),
         columns=grid_table.columns,
         min_height=min_height)
コード例 #27
0
 def __get_table_for_db__(self):
     if self._df_for_grid_table is None:
         return ''
     column_sort = self._db_table.column_sort
     self._db_grid_table = DBTable(self._df_for_grid_table,
                                   self._selected_table_name,
                                   self._selected_date_range, column_sort)
     rows = self._db_grid_table.get_rows_for_selected_items()
     return MyDCC.data_table(
         self._data_table_name,
         rows,
         columns=self._db_grid_table.columns,
         style_cell_conditional=self._db_grid_table.
         get_table_style_cell_conditional(),
     )
コード例 #28
0
 def __get_similar_sale_grid_table__(self, master_id: str, selected_entity_values: list=None):
     if master_id == '':
         return ''
     self._selection_api.master_id = master_id
     self._selection_api.entity_values = selected_entity_values
     self._selection_api.master_sale = self._sale_factory.get_sale_from_db_by_sale_id(master_id)
     rows = self._similar_sale_grid_table.get_rows_for_selection(self._selection_api, True)
     if len(rows) == 0:
         return 'Nothing found'
     return MyDCC.data_table(
         self._my_sales_similar_sale_grid_table,
         rows=rows,
         style_cell_conditional=self._similar_sale_grid_table.get_table_style_cell_conditional(),
         style_data_conditional=self._similar_sale_grid_table.get_table_style_data_conditional(rows),
         columns=self._similar_sale_grid_table.columns,
     )
コード例 #29
0
 def __get_table_for_trades__(self, take_cached=False):
     if take_cached and self._cached_trade_table is not None:
         return self._cached_trade_table
     rows = self.__get_table_rows_for_trades__()
     selected_row_indices_for_table = self.__get_selected_row_indices_for_trade_table__(
         rows)
     if len(rows) == 0:
         rows = self.__get_empty_data_row__()
     self._cached_trade_table = MyDCC.data_table(
         self._data_table_name,
         rows=rows,
         selected_row_indices=selected_row_indices_for_table,
         style_cell_conditional=TradeTable.get_table_style_cell_conditional(
             self._selected_trade_type),
         style_data_conditional=TradeTable.get_table_style_data_conditional(
             self._selected_trade_type, rows),
         columns=self.__get_columns_for_trading_table__())
     return self._cached_trade_table
コード例 #30
0
 def get_div_for_tab(self):
     children_list = [
         MyHTMLTabLogHeaderTable().get_table(),
         MyHTML.div_with_dcc_drop_down(
             **self._dd_handler.get_drop_down_parameters(
                 LOGDD.LOG_TYPE, default_value=self._selected_log_type)),
         MyHTML.div_with_dcc_drop_down(
             **self._dd_handler.get_drop_down_parameters(LOGDD.PROCESS)),
         MyHTML.div_with_dcc_drop_down(
             **self._dd_handler.get_drop_down_parameters(
                 LOGDD.PROCESS_STEP)),
         MyHTML.div_with_dcc_drop_down(
             **self._dd_handler.get_drop_down_parameters(LOGDD.DATE_RANGE)),
         MyHTML.div(self._data_table_div, self.__get_table_for_log__(),
                    False),
         MyDCC.markdown(self._my_log_entry_markdown)
     ]
     return MyHTML.div('my_log_div', children_list)