diff --git a/superset/assets/src/dashboard/actions/sliceEntities.js b/superset/assets/src/dashboard/actions/sliceEntities.js index e98d28bcc4..efee23eec3 100644 --- a/superset/assets/src/dashboard/actions/sliceEntities.js +++ b/superset/assets/src/dashboard/actions/sliceEntities.js @@ -77,6 +77,7 @@ export function fetchAllSlices(userId) { description_markdown: slice.description_markeddown, viz_type: slice.viz_type, modified: slice.modified, + changed_on_humanized: slice.changed_on_humanized, }; } }); diff --git a/superset/assets/src/dashboard/components/SliceAdder.jsx b/superset/assets/src/dashboard/components/SliceAdder.jsx index 9359759ae4..dd6ad56756 100644 --- a/superset/assets/src/dashboard/components/SliceAdder.jsx +++ b/superset/assets/src/dashboard/components/SliceAdder.jsx @@ -170,7 +170,6 @@ class SliceAdder extends React.Component { chartId: cellData.slice_id, sliceName: cellData.slice_name, }; - return ( {self.changed_on}') + @property + def changed_on_humanized(self): + return humanize.naturaltime(datetime.now() - self.changed_on) + @renders('changed_on') def modified(self): - time_str = humanize.naturaltime(datetime.now() - self.changed_on) - return Markup(f'{time_str}') + return Markup(f'{self.changed_on_humanized}') class QueryResult(object): diff --git a/superset/views/core.py b/superset/views/core.py index c599bfe206..04fff7b109 100755 --- a/superset/views/core.py +++ b/superset/views/core.py @@ -576,7 +576,8 @@ class SliceAsync(SliceModelView): # noqa route_base = '/sliceasync' list_columns = [ 'id', 'slice_link', 'viz_type', 'slice_name', - 'creator', 'modified', 'icons'] + 'creator', 'modified', 'icons', 'changed_on_humanized', + ] label_columns = { 'icons': ' ', 'slice_link': _('Chart'), @@ -592,7 +593,8 @@ class SliceAddView(SliceModelView): # noqa 'id', 'slice_name', 'slice_url', 'edit_url', 'viz_type', 'params', 'description', 'description_markeddown', 'datasource_id', 'datasource_type', 'datasource_name_text', 'datasource_link', - 'owners', 'modified', 'changed_on'] + 'owners', 'modified', 'changed_on', 'changed_on_humanized', + ] appbuilder.add_view_no_menu(SliceAddView)