Procházet zdrojové kódy

Render Linked docs like list view (#3215)

version-14
Faris Ansari před 8 roky
committed by Nabin Hait
rodič
revize
753177c3c5
4 změnil soubory, kde provedl 25 přidání a 4 odebrání
  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 Zobrazit soubor

@@ -51,11 +51,23 @@ frappe.ui.form.LinkedWith = class LinkedWith {
html = __("Not Linked to any record"); html = __("Not Linked to any record");
} else { } else {
html = Object.keys(linked_docs).map(dt => { 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"> return `<div class="list-item-table" style="margin-bottom: 15px">
${this.make_doc_head(dt)} ${this.make_doc_head(dt)}
${linked_docs[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>`; </div>`;
}); });
} }


+ 2
- 0
frappe/public/js/frappe/list/list_item_row.html Zobrazit soubor

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


<!-- comment --> <!-- comment -->
{% if (!data._hide_activity) { %}
<div class="list-item__content list-item__content--activity hidden-xs"> <div class="list-item__content list-item__content--activity hidden-xs">
<!-- comments count and assigned to section --> <!-- comments count and assigned to section -->
{%= frappe.render_template("item_assigned_to_comment_count", { data: data }) %} {%= 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"> <div class="list-item__content list-item__content--indicator visible-xs text-right">
{%= indicator_dot %} {%= indicator_dot %}
</div> </div>
{% } %}
</div> </div>

+ 2
- 0
frappe/public/js/frappe/list/list_item_subject.html Zobrazit soubor

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


+ 7
- 2
frappe/public/js/frappe/list/list_renderer.js Zobrazit soubor

@@ -71,7 +71,7 @@ frappe.views.ListRenderer = Class.extend({
return this.list_view.current_view !== this.list_view.last_view; return this.list_view.current_view !== this.list_view.last_view;
}, },
set_wrapper: function () { 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 () { set_fields: function () {
var me = this; var me = this;
@@ -439,7 +439,7 @@ frappe.views.ListRenderer = Class.extend({
data._name_encoded = encodeURIComponent(data.name); data._name_encoded = encodeURIComponent(data.name);
data._submittable = frappe.model.is_submittable(this.doctype); 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._title = strip_html(data[title_field] || data.name);
data._full_title = data._title; data._full_title = data._title;


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


data._user = frappe.session.user; data._user = frappe.session.user;


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

data._tags = data._user_tags.split(',').filter(function (v) { data._tags = data._user_tags.split(',').filter(function (v) {
// filter falsy values // filter falsy values
return v; 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 || '[]'); data._assign_list = JSON.parse(data._assign || '[]');


// prepare data in settings // prepare data in settings


Načítá se…
Zrušit
Uložit