Ver código fonte

Render Linked docs like list view (#3215)

version-14
Faris Ansari 8 anos atrás
committed by Nabin Hait
pai
commit
753177c3c5
4 arquivos alterados com 25 adições e 4 exclusões
  1. +14
    -2
      frappe/public/js/frappe/form/linked_with.js
  2. +2
    -0
      frappe/public/js/frappe/list/list_item_row.html
  3. +2
    -0
      frappe/public/js/frappe/list/list_item_subject.html
  4. +7
    -2
      frappe/public/js/frappe/list/list_renderer.js

+ 14
- 2
frappe/public/js/frappe/form/linked_with.js Ver arquivo

@@ -51,11 +51,23 @@ frappe.ui.form.LinkedWith = class LinkedWith {
html = __("Not Linked to any record");
} else {
html = Object.keys(linked_docs).map(dt => {
const list_renderer = new frappe.views.ListRenderer({
doctype: dt,
list_view: this
});
return `<div class="list-item-table" style="margin-bottom: 15px">
${this.make_doc_head(dt)}
${linked_docs[dt]
.map(doc => this.make_doc_row(doc, dt))
.join("")}
.map(value => {
// prepare data
value = list_renderer.prepare_data(value);
value._checkbox = 0;
value._hide_activity = 1;

const $item = $(list_renderer.get_item_html(value));
const $item_container = $('<div class="list-item-container">').append($item);
return $item_container[0].outerHTML;
}).join("")}
</div>`;
});
}


+ 2
- 0
frappe/public/js/frappe/list/list_item_row.html Ver arquivo

@@ -14,6 +14,7 @@
{% } %}

<!-- comment -->
{% if (!data._hide_activity) { %}
<div class="list-item__content list-item__content--activity hidden-xs">
<!-- comments count and assigned to section -->
{%= frappe.render_template("item_assigned_to_comment_count", { data: data }) %}
@@ -21,4 +22,5 @@
<div class="list-item__content list-item__content--indicator visible-xs text-right">
{%= indicator_dot %}
</div>
{% } %}
</div>

+ 2
- 0
frappe/public/js/frappe/list/list_item_subject.html Ver arquivo

@@ -1,6 +1,7 @@
{% if (_checkbox) { %}
<input class="list-row-checkbox hidden-xs" type="checkbox" data-name="{{name}}">
{% } %}
{% if (!_hide_activity) { %}
<span class="liked-by" data-liked-by=\'{{ JSON.stringify(_liked_by) }}\'>
<i class="octicon octicon-heart
{% if (_liked_by.indexOf(_user)===-1) { %}
@@ -11,6 +12,7 @@
</i>
<span class="likes-count">{{ (_liked_by.length > 99 ? "99+" : _liked_by.length) || "" }}</span>
</span>
{% } %}
<a class="grey list-id {{ css_seen }} ellipsis"
data-name="{{ _name }}"
href="#Form/{{ _doctype_encoded }}/{{ _name_encoded }}"


+ 7
- 2
frappe/public/js/frappe/list/list_renderer.js Ver arquivo

@@ -71,7 +71,7 @@ frappe.views.ListRenderer = Class.extend({
return this.list_view.current_view !== this.list_view.last_view;
},
set_wrapper: function () {
this.wrapper = this.list_view.wrapper.find('.result-list');
this.wrapper = this.list_view.wrapper && this.list_view.wrapper.find('.result-list');
},
set_fields: function () {
var me = this;
@@ -439,7 +439,7 @@ frappe.views.ListRenderer = Class.extend({
data._name_encoded = encodeURIComponent(data.name);
data._submittable = frappe.model.is_submittable(this.doctype);

var title_field = frappe.get_meta(this.doctype).title_field || 'name';
var title_field = this.meta.title_field || 'name';
data._title = strip_html(data[title_field] || data.name);
data._full_title = data._title;

@@ -455,6 +455,8 @@ frappe.views.ListRenderer = Class.extend({

data._user = frappe.session.user;

if(!data._user_tags) data._user_tags = "";

data._tags = data._user_tags.split(',').filter(function (v) {
// filter falsy values
return v;
@@ -468,6 +470,9 @@ frappe.views.ListRenderer = Class.extend({
}
}

// whether to hide likes/comments/assignees
data._hide_activity = 0;

data._assign_list = JSON.parse(data._assign || '[]');

// prepare data in settings


Carregando…
Cancelar
Salvar