[hub][publish] select/deselect all items

This commit is contained in:
Prateeksha Singh 2018-07-26 08:06:21 +05:30
parent 9685d7c37a
commit 505f6f14e9
2 changed files with 57 additions and 35 deletions

View File

@ -487,20 +487,12 @@ erpnext.hub.Register = class Register extends SubPage {
.appendTo(this.$wrapper);
this.$form_container = $('<div class="col-md-8 col-md-offset-1 form-container">')
.appendTo(this.$wrapper);
// const title = __('Become a Seller');
// this.$register_container.append($(`<h5>${title}</h5>`));
}
refresh() {
// company, company_email, logo, description
this.render();
}
// make_input() {
// //
// }
render() {
this.make_field_group();
}
@ -576,9 +568,53 @@ erpnext.hub.Register = class Register extends SubPage {
}
erpnext.hub.Publish = class Publish extends SubPage {
constructor(parent) {
super(parent);
// this.selected_items = [];
make_wrapper() {
super.make_wrapper();
const title_html = `<b>${__('Select Products to Publish')}</b>`;
const subtitle_html = `<p class="text-muted">
${__(`Only products with an image and description can be published.
Please update them if an item in your inventory does not appear.`)}
</p>`;
const publish_button_html = `<button class="btn btn-primary btn-sm publish-button">
<i class="visible-xs octicon octicon-check"></i>
<span class="hidden-xs">Publish</span>
</button>`;
const select_all_button = `<button class="btn btn-secondary btn-default btn-xs margin-right select-all">Select All</button>`;
const deselect_all_button = `<button class="btn btn-secondary btn-default btn-xs deselect-all">Deselect All</button>`;
const search_html = `<div class="hub-search-container">
<input type="text" class="form-control" placeholder="Search Items">
</div>`;
const subpage_header = $(`
<div class='subpage-title flex'>
<div>
${title_html}
${subtitle_html}
</div>
${publish_button_html}
</div>
${search_html}
${select_all_button}
${deselect_all_button}
`);
this.$wrapper.append(subpage_header);
this.setup_events();
}
setup_events() {
this.$wrapper.find('.select-all').on('click', () => {
this.$wrapper.find('.hub-card').addClass('active');
});
this.$wrapper.find('.deselect-all').on('click', () => {
this.$wrapper.find('.hub-card').removeClass('active');
});
}
refresh() {
@ -589,26 +625,13 @@ erpnext.hub.Publish = class Publish extends SubPage {
}
render(items) {
const html = get_item_card_container_html(
items,
__('Select Products to Publish'),
__(`Only products with an image and description can be published.
Please update them if an item in your inventory does not appear.`),
`<div class="hub-search-container">
<input type="text" class="form-control" placeholder="Search Items">
</div>`
);
const container = $(html);
container.addClass('static').on('click', '.hub-card', (e) => {
const items_container = $(get_item_card_container_html(items));
items_container.addClass('static').on('click', '.hub-card', (e) => {
const $target = $(e.currentTarget);
$target.toggleClass('active');
});
this.$wrapper.append(container);
this.$wrapper.append(items_container);
}
get_valid_items() {
@ -616,20 +639,14 @@ erpnext.hub.Publish = class Publish extends SubPage {
}
}
function get_item_card_container_html(items, title, subtitle='', search_html='') {
function get_item_card_container_html(items, title='') {
const items_html = (items || []).map(item => get_item_card_html(item)).join('');
const html = `<div class="row hub-card-container">
<div class="col-md-12 margin-bottom">
<div class="col-sm-12 margin-bottom">
<b>${title}</b>
<p class="text-muted">${subtitle}</p>
${search_html}
</div>
${items_html}
</div>`;
return html;

View File

@ -31,6 +31,11 @@ body[data-route^="marketplace/"] {
border-color: #59b81c;
}
.subpage-title.flex {
align-items: flex-start;
justify-content: space-between;
}
.hub-card {
border: 1px solid @border-color;
margin-bottom: 25px;