diff --git a/ckanext/csvwmapandtransform/public/csvwmaptransform.css b/ckanext/csvwmapandtransform/public/csvwmaptransform.css
index 1508c56..539372d 100644
--- a/ckanext/csvwmapandtransform/public/csvwmaptransform.css
+++ b/ckanext/csvwmapandtransform/public/csvwmaptransform.css
@@ -1,6 +1,3 @@
-
-
-
.resource-item {
align-items: flex-end;
display: flex;
@@ -9,10 +6,11 @@
margin-bottom: 0px;
border-radius: 3px;
}
+
.resource-item .btn-group {
- position: relative!important;
+ position: relative !important;
top: 10px;
- right: 0px!important;
+ right: 0px !important;
flex: 0 0 auto;
padding: 0.25rem !important;
/* width: 16.66666667%; */
@@ -35,3 +33,127 @@
margin-right: auto;
}
+.activity {
+ padding: 0;
+ list-style-type: none;
+}
+
+.activity .item {
+ position: relative;
+ margin: 0 0 15px 0;
+ padding: 0;
+}
+
+.activity .item .user-image {
+ border-radius: 100px;
+}
+
+.activity .item .date {
+ color: #999999;
+ font-size: 12px;
+}
+
+.activity .item.no-avatar p {
+ margin-left: 40px;
+}
+
+.activity.activity-empty {
+ background: none;
+}
+
+
+@media (min-width: 768px) {
+ .activity {
+ background: transparent url("/dotted.png") 14px 0 repeat-y;
+ }
+
+ .activity .item .date {
+ margin: 5px 0 0 80px;
+ }
+}
+
+.activity .item .icon {
+ display: block;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 30px;
+ height: 30px;
+ line-height: 30px;
+ text-align: center;
+ color: #FFFFFF;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
+ /* font-weight: normal; */
+ margin-right: 10px;
+ border-radius: 100px;
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
+}
+
+.activity .item .alert {
+ margin: 5px 0 0 40px;
+}
+
+.activity_buttons {
+ display: flex;
+ gap: 0.5rem;
+}
+
+.activity_buttons>a.btn.disabled {
+ color: inherit;
+ opacity: 0.7;
+}
+
+.popover {
+ width: 300px;
+}
+
+.popover .popover-title {
+ font-weight: bold;
+ margin-bottom: 0;
+}
+
+.popover p.about {
+ margin: 0 0 10px 0;
+}
+
+.popover .popover-close {
+ float: right;
+ text-decoration: none;
+}
+
+.popover .empty {
+ padding: 10px;
+ color: #6E6E6E;
+ font-style: italic;
+}
+
+
+.activity .item p {
+ font-size: 14px;
+ line-height: 1.5;
+ margin: 5px 0 0 40px;
+}
+
+.activity .item.failure .icon {
+ background: #B95252;
+}
+
+.activity .item.success .icon {
+ background: #69A67A;
+}
+
+.select-time {
+ width: 250px;
+ display: inline;
+}
+
+br.line-height2 {
+ line-height: 2;
+}
+
+.pull-right {
+ float: right;
+}
+
+/*# sourceMappingURL=activity.css.map */
\ No newline at end of file
diff --git a/ckanext/csvwmapandtransform/public/dotted.png b/ckanext/csvwmapandtransform/public/dotted.png
new file mode 100644
index 0000000..fa0ae80
Binary files /dev/null and b/ckanext/csvwmapandtransform/public/dotted.png differ
diff --git a/ckanext/csvwmapandtransform/templates/csvwmapandtransform/transform.html b/ckanext/csvwmapandtransform/templates/csvwmapandtransform/transform.html
index 3fa8f82..5755895 100644
--- a/ckanext/csvwmapandtransform/templates/csvwmapandtransform/transform.html
+++ b/ckanext/csvwmapandtransform/templates/csvwmapandtransform/transform.html
@@ -6,106 +6,115 @@
{% block breadcrumb_content_selected %}{% endblock %}
{% block breadcrumb_content %}
- {{ super() }}
- {% if res %}
-
{% link_for h.resource_display_name(res)|truncate(30), named_route=pkg.type ~ '_resource.read', id=pkg.name, resource_id=res.id %}
- {{ _('Transform') }}
+{{ super() }}
+{% if res %}
+{% link_for h.resource_display_name(res)|truncate(30), named_route=pkg.type ~ '_resource.read', id=pkg.name,
+ resource_id=res.id %}
+{{ _('Transform') }}
{% endif %}
-{% endblock %}
+ {% endblock %}
-{% block content_action %}
- {% if res %}
- {% link_for _('View resource'), named_route=pkg.type ~ '_resource.read', id=pkg.name, resource_id=res.id, class_='btn btn-default', icon='eye' %}
+ {% block content_action %}
+ {% if res %}
+ {% link_for _('View resource'), named_route=pkg.type ~ '_resource.read', id=pkg.name, resource_id=res.id, class_='btn
+ btn-default', icon='eye' %}
{% endif %}
-{% endblock %}
+ {% endblock %}
-{% block content_primary_nav %}
+ {% block content_primary_nav %}
-{% endblock %}
+ {% endblock %}
-{% block primary_content_inner %}
- {% block form_title %}{{ _('Transform Status') }}{% endblock %}
+ {% block primary_content_inner %}
+ {% block form_title %}{{ _('Transform Status') }}{% endblock %}
{% block form %}
{% endblock %}
{% if status %}
- {% if status.error and status.error.message %}
- {% set show_table = false %}
-
- {{ _('Upload error:') }} {{ status.error.message }}
-
- {% elif status.task_info and status.task_info.error %}
-
- {% if status.task_info.error is string %}
- {# DataPusher < 0.0.3 #}
-
{{ _('Error:') }} {{ status.task_info.error }}
- {% elif status.task_info.error is mapping %}
-
{{ _('Error:') }} {{ status.task_info.error.message }}
- {% for error_key, error_value in status.task_info.error.items() %}
- {% if error_key != "message" and error_value %}
-
-
{{ error_key }}:
- {{ error_value }}
- {% endif %}
- {% endfor %}
- {% elif status.task_info.error is iterable %}
-
{{ _('Error traceback:') }}
-
{{ ''.join(status.task_info.error) }}
- {% endif %}
-
- {% endif %}
-
-
-
-
-
-
-
-
- {{ _('Status') }} |
- {{ h.csvwmapandtransform__status_description(status) }} |
-
-
- {{ _('Last updated') }} |
- {% if status.status %}
- {{ h.time_ago_from_timestamp(status.last_updated) }} |
- {% else %}
- {{ _('Never') }} |
- {% endif %}
-
-
-
- {% if status and status.logs %}
- {{ _('Transformation Log') }}
- {% for item in status.logs|sort(attribute='timestamp') %}
- {% set level = 'info' if item.level == 'DEBUG' else item.level %}
- {% set popover_content = 'test' %}
-
- {% for line in item.message.strip().split('\n') %}
- {{ line | urlize }}
- {% endfor %}
-
-
- {{ h.time_ago_from_timestamp(item.timestamp) }}
-
+ {% if status.error and status.error.message %}
+ {% set show_table = false %}
+
+ {{ _('Upload error:') }} {{ status.error.message }}
+
+ {% elif status.task_info and status.task_info.error %}
+
+ {% if status.task_info.error is string %}
+ {# DataPusher < 0.0.3 #}
{{ _('Error:') }} {{ status.task_info.error }}
+ {% elif status.task_info.error is mapping %}
+
{{ _('Error:') }} {{ status.task_info.error.message }}
+ {% for error_key, error_value in status.task_info.error.items() %}
+ {% if error_key != "message" and error_value %}
+
+
{{ error_key }}:
+ {{ error_value }}
+ {% endif %}
{% endfor %}
+ {% elif status.task_info.error is iterable %}
+
{{ _('Error traceback:') }}
+
{{ ''.join(status.task_info.error) }}
{% endif %}
+
{% endif %}
-{% endblock %}
-{% block secondary_content %}
+
+
+
+
+
+
+
+ {{ _('Status') }} |
+ {{ h.csvwmapandtransform__status_description(status) }} |
+
+
+ {{ _('Last updated') }} |
+ {% if status.status %}
+ {{
+ h.time_ago_from_timestamp(status.last_updated) }} |
+ {% else %}
+ {{ _('Never') }} |
+ {% endif %}
+
+
+
+ {% if status and status.logs %}
+ {{ _('Transformation Log') }}
+
+ {% endif %}
+ {% endif %}
+ {% endblock %}
+
+ {% block secondary_content %}
{% snippet 'package/snippets/resource_info.html', res=res %}
{% snippet 'package/snippets/resources.html', pkg=pkg, active=res.id %}
-{% endblock %}
+ {% endblock %}
-{% block scripts %}
+ {% block scripts %}
{{ super() }}
{% asset 'vendor/fileupload' %}
-{% endblock %}
\ No newline at end of file
+ {% endblock %}
\ No newline at end of file