2
0
mirror of https://github.com/frappe/books.git synced 2025-01-03 15:17:30 +00:00

fix(ui): No empty required selects, set placeholders everywhere

This commit is contained in:
18alantom 2021-12-16 16:45:31 +05:30 committed by Alan
parent ea5e0c9f6e
commit 1fd616fb0d
13 changed files with 139 additions and 142 deletions

View File

@ -14,14 +14,15 @@ export default {
fieldname: 'name', fieldname: 'name',
label: 'Account Name', label: 'Account Name',
fieldtype: 'Data', fieldtype: 'Data',
required: 1 required: 1,
}, },
{ {
fieldname: 'rootType', fieldname: 'rootType',
label: 'Root Type', label: 'Root Type',
fieldtype: 'Select', fieldtype: 'Select',
options: ['', 'Asset', 'Liability', 'Equity', 'Income', 'Expense'], placeholder: 'Root Type',
required: 1 options: ['Asset', 'Liability', 'Equity', 'Income', 'Expense'],
required: 1,
}, },
{ {
fieldname: 'parentAccount', fieldname: 'parentAccount',
@ -30,18 +31,18 @@ export default {
target: 'Account', target: 'Account',
getFilters: (query, doc) => { getFilters: (query, doc) => {
const filter = { const filter = {
isGroup: 1 isGroup: 1,
}; };
doc.rootType ? (filter.rootType = doc.rootType) : ''; doc.rootType ? (filter.rootType = doc.rootType) : '';
return filter; return filter;
} },
}, },
{ {
fieldname: 'accountType', fieldname: 'accountType',
label: 'Account Type', label: 'Account Type',
placeholder: 'Account Type',
fieldtype: 'Select', fieldtype: 'Select',
options: [ options: [
'',
'Accumulated Depreciation', 'Accumulated Depreciation',
'Bank', 'Bank',
'Cash', 'Cash',
@ -60,21 +61,21 @@ export default {
'Stock Adjustment', 'Stock Adjustment',
'Stock Received But Not Billed', 'Stock Received But Not Billed',
'Tax', 'Tax',
'Temporary' 'Temporary',
] ],
}, },
{ {
fieldname: 'balance', fieldname: 'balance',
label: 'Balance', label: 'Balance',
fieldtype: 'Currency', fieldtype: 'Currency',
default: '0', default: '0',
readOnly: 1 readOnly: 1,
}, },
{ {
fieldname: 'isGroup', fieldname: 'isGroup',
label: 'Is Group', label: 'Is Group',
fieldtype: 'Check' fieldtype: 'Check',
} },
], ],
quickEditFields: [ quickEditFields: [
@ -82,7 +83,7 @@ export default {
'rootType', 'rootType',
'parentAccount', 'parentAccount',
'accountType', 'accountType',
'isGroup' 'isGroup',
], ],
treeSettings: { treeSettings: {
@ -90,6 +91,6 @@ export default {
async getRootLabel() { async getRootLabel() {
let accountingSettings = await frappe.getSingle('AccountingSettings'); let accountingSettings = await frappe.getSingle('AccountingSettings');
return accountingSettings.companyName; return accountingSettings.companyName;
} },
} },
}; };

View File

@ -10,34 +10,34 @@ export default {
fieldname: 'name', fieldname: 'name',
label: 'Currency Name', label: 'Currency Name',
fieldtype: 'Data', fieldtype: 'Data',
required: 1 required: 1,
}, },
{ {
fieldname: 'fraction', fieldname: 'fraction',
label: 'Fraction', label: 'Fraction',
fieldtype: 'Data' fieldtype: 'Data',
}, },
{ {
fieldname: 'fractionUnits', fieldname: 'fractionUnits',
label: 'Fraction Units', label: 'Fraction Units',
fieldtype: 'Int' fieldtype: 'Int',
}, },
{ {
label: 'Smallest Currency Fraction Value', label: 'Smallest Currency Fraction Value',
fieldname: 'smallestValue', fieldname: 'smallestValue',
fieldtype: 'Currency' fieldtype: 'Currency',
}, },
{ {
label: 'Symbol', label: 'Symbol',
fieldname: 'symbol', fieldname: 'symbol',
fieldtype: 'Data' fieldtype: 'Data',
}, },
{ {
fieldname: 'numberFormat', fieldname: 'numberFormat',
fieldtype: 'Select', fieldtype: 'Select',
label: 'Number Format', label: 'Number Format',
placeholder: 'Number Format',
options: [ options: [
'',
'#,###.##', '#,###.##',
'#.###,##', '#.###,##',
'# ###.##', '# ###.##',
@ -47,8 +47,8 @@ export default {
'#,##,###.##', '#,##,###.##',
'#,###.###', '#,###.###',
'#.###', '#.###',
'#,###' '#,###',
] ],
} },
] ],
}; };

View File

@ -1,5 +1,5 @@
import frappe from 'frappejs'; import frappe from 'frappejs';
import GSTR3B from './GSTR3BDocument.js'; import GSTR3B from './GSTR3BDocument.js';
export default { export default {
name: 'GSTR3B', name: 'GSTR3B',
@ -7,7 +7,7 @@ export default {
doctype: 'DocType', doctype: 'DocType',
documentClass: GSTR3B, documentClass: GSTR3B,
print: { print: {
printFormat: 'GSTR3B Print Format' printFormat: 'GSTR3B Print Format',
}, },
keywordFields: ['name', 'month', 'year'], keywordFields: ['name', 'month', 'year'],
fields: [ fields: [
@ -15,14 +15,14 @@ export default {
fieldname: 'year', fieldname: 'year',
label: 'Year', label: 'Year',
fieldtype: 'Data', fieldtype: 'Data',
required: 1 required: 1,
}, },
{ {
fieldname: 'month', fieldname: 'month',
label: 'Month', label: 'Month',
placeholder: 'Month',
fieldtype: 'Select', fieldtype: 'Select',
options: [ options: [
'',
'January', 'January',
'February', 'February',
'March', 'March',
@ -34,45 +34,45 @@ export default {
'September', 'September',
'October', 'October',
'November', 'November',
'December' 'December',
], ],
required: 1 required: 1,
}, },
{ {
fieldname: 'jsonData', fieldname: 'jsonData',
label: 'JSON Data', label: 'JSON Data',
fieldtype: 'Code', fieldtype: 'Code',
formula: doc => doc.getJson(), formula: (doc) => doc.getJson(),
required: 1, required: 1,
readOnly: 1, readOnly: 1,
rows: 15 rows: 15,
} },
], ],
layout: [ layout: [
{ {
columns: [{ fields: ['year', 'month', 'jsonData'] }] columns: [{ fields: ['year', 'month', 'jsonData'] }],
} },
], ],
links: [ links: [
{ {
label: 'Print PDF', label: 'Print PDF',
condition: form => !form.doc._notInserted, condition: (form) => !form.doc._notInserted,
action: async form => { action: async (form) => {
form.$router.push({ form.$router.push({
path: `/print/GSTR3B/${form.doc.name}` path: `/print/GSTR3B/${form.doc.name}`,
}); });
} },
}, },
{ {
label: 'Delete', label: 'Delete',
condition: form => !form.doc._notInserted, condition: (form) => !form.doc._notInserted,
action: async form => { action: async (form) => {
const doc = await frappe.getDoc('GSTR3B', form.doc.name); const doc = await frappe.getDoc('GSTR3B', form.doc.name);
await doc.delete(); await doc.delete();
form.$router.push({ form.$router.push({
path: `/list/GSTR3B` path: `/list/GSTR3B`,
}); });
} },
} },
] ],
}; };

View File

@ -29,13 +29,14 @@ export default {
fieldname: 'unit', fieldname: 'unit',
label: 'Unit Type', label: 'Unit Type',
fieldtype: 'Select', fieldtype: 'Select',
placeholder: 'Unit Type',
default: 'Unit', default: 'Unit',
options: ['Unit', 'Kg', 'Gram', 'Hour', 'Day'], options: ['Unit', 'Kg', 'Gram', 'Hour', 'Day'],
}, },
{ {
fieldname: 'itemType', fieldname: 'itemType',
label: 'Type', label: 'Type',
placeholder: 'Sales', placeholder: 'Type',
fieldtype: 'Select', fieldtype: 'Select',
default: 'Product', default: 'Product',
options: ['Product', 'Service'], options: ['Product', 'Service'],
@ -45,7 +46,7 @@ export default {
label: 'Income', label: 'Income',
fieldtype: 'Link', fieldtype: 'Link',
target: 'Account', target: 'Account',
placeholder: 'Sales', placeholder: 'Income',
required: 1, required: 1,
disableCreation: true, disableCreation: true,
getFilters: () => { getFilters: () => {
@ -70,7 +71,7 @@ export default {
label: 'Expense', label: 'Expense',
fieldtype: 'Link', fieldtype: 'Link',
target: 'Account', target: 'Account',
placeholder: 'Select Account', placeholder: 'Expense',
required: 1, required: 1,
disableCreation: true, disableCreation: true,
getFilters: () => { getFilters: () => {
@ -96,7 +97,7 @@ export default {
label: 'Tax', label: 'Tax',
fieldtype: 'Link', fieldtype: 'Link',
target: 'Tax', target: 'Tax',
placeholder: 'GST', placeholder: 'Tax',
}, },
{ {
fieldname: 'rate', fieldname: 'rate',

View File

@ -22,6 +22,7 @@ export default function getAugmentedParty({ country }) {
{ {
fieldname: 'gstType', fieldname: 'gstType',
label: 'GST Registration', label: 'GST Registration',
placeholder: 'GST Registration',
fieldtype: 'Select', fieldtype: 'Select',
default: gstTypes[0], default: gstTypes[0],
options: gstTypes, options: gstTypes,

View File

@ -48,7 +48,8 @@ export default {
fieldname: 'paymentType', fieldname: 'paymentType',
label: 'Payment Type', label: 'Payment Type',
fieldtype: 'Select', fieldtype: 'Select',
options: ['', 'Receive', 'Pay'], placeholder: 'Payment Type',
options: ['Receive', 'Pay'],
required: 1, required: 1,
}, },
{ {
@ -78,7 +79,7 @@ export default {
label: 'Payment Method', label: 'Payment Method',
placeholder: 'Payment Method', placeholder: 'Payment Method',
fieldtype: 'Select', fieldtype: 'Select',
options: ['', 'Cash', 'Cheque', 'Transfer'], options: ['Cash', 'Cheque', 'Transfer'],
default: 'Cash', default: 'Cash',
required: 1, required: 1,
}, },

View File

@ -9,6 +9,7 @@ export default {
{ {
fieldname: 'referenceType', fieldname: 'referenceType',
label: 'Reference Type', label: 'Reference Type',
placeholder: 'Type',
fieldtype: 'Select', fieldtype: 'Select',
options: ['SalesInvoice', 'PurchaseInvoice'], options: ['SalesInvoice', 'PurchaseInvoice'],
map: { SalesInvoice: 'Invoice', PurchaseInvoice: 'Bill' }, map: { SalesInvoice: 'Invoice', PurchaseInvoice: 'Bill' },
@ -19,6 +20,7 @@ export default {
label: 'Reference Name', label: 'Reference Name',
fieldtype: 'DynamicLink', fieldtype: 'DynamicLink',
references: 'referenceType', references: 'referenceType',
placeholder: 'Name',
getFilters() { getFilters() {
return { return {
outstandingAmount: ['>', 0], outstandingAmount: ['>', 0],
@ -30,6 +32,7 @@ export default {
fieldname: 'amount', fieldname: 'amount',
label: 'Amount', label: 'Amount',
fieldtype: 'Currency', fieldtype: 'Currency',
placeholder: '0.00',
formula: (row, doc) => { formula: (row, doc) => {
return doc.getFrom( return doc.getFrom(
row.referenceType, row.referenceType,

View File

@ -8,12 +8,12 @@ export default {
{ {
fieldname: 'logo', fieldname: 'logo',
label: 'Logo', label: 'Logo',
fieldtype: 'AttachImage' fieldtype: 'AttachImage',
}, },
{ {
fieldname: 'companyName', fieldname: 'companyName',
label: 'Company Name', label: 'Company Name',
fieldtype: 'Data' fieldtype: 'Data',
}, },
{ {
fieldname: 'email', fieldname: 'email',
@ -21,13 +21,13 @@ export default {
fieldtype: 'Data', fieldtype: 'Data',
placeholder: 'john@doe.com', placeholder: 'john@doe.com',
validate: { validate: {
type: 'email' type: 'email',
} },
}, },
{ {
fieldname: 'displayLogo', fieldname: 'displayLogo',
label: 'Display Logo in Invoice', label: 'Display Logo in Invoice',
fieldtype: 'Check' fieldtype: 'Check',
}, },
{ {
fieldname: 'phone', fieldname: 'phone',
@ -35,8 +35,8 @@ export default {
fieldtype: 'Data', fieldtype: 'Data',
placeholder: '9888900000', placeholder: '9888900000',
validate: { validate: {
type: 'phone' type: 'phone',
} },
}, },
{ {
fieldname: 'address', fieldname: 'address',
@ -44,20 +44,21 @@ export default {
fieldtype: 'Link', fieldtype: 'Link',
target: 'Address', target: 'Address',
placeholder: 'Click to create', placeholder: 'Click to create',
inline: true inline: true,
}, },
{ {
fieldname: 'gstin', fieldname: 'gstin',
label: 'GSTIN', label: 'GSTIN',
fieldtype: 'Data', fieldtype: 'Data',
placeholder: '27AAAAA0000A1Z5' placeholder: '27AAAAA0000A1Z5',
}, },
{ {
fieldname: 'template', fieldname: 'template',
label: 'Template', label: 'Template',
placeholder: 'Template',
fieldtype: 'Select', fieldtype: 'Select',
options: ['Basic', 'Minimal', 'Business'], options: ['Basic', 'Minimal', 'Business'],
default: 'Basic' default: 'Basic',
}, },
{ {
fieldname: 'color', fieldname: 'color',
@ -73,32 +74,28 @@ export default {
'blue', 'blue',
'indigo', 'indigo',
'purple', 'purple',
'pink' 'pink',
] ]
.map(color => { .map((color) => {
let label = color[0].toUpperCase() + color.slice(1); let label = color[0].toUpperCase() + color.slice(1);
return { return {
label, label,
value: theme.colors[color]['500'] value: theme.colors[color]['500'],
}; };
}) })
.concat({ .concat({
label: 'Black', label: 'Black',
value: theme.colors['black'] value: theme.colors['black'],
}) }),
}, },
{ {
fieldname: 'font', fieldname: 'font',
label: 'Font', label: 'Font',
placeholder: 'Font',
fieldtype: 'Select', fieldtype: 'Select',
options: [ options: ['Inter', 'Times New Roman', 'Arial', 'Courier'],
'Inter', default: 'Inter',
'Times New Roman', },
'Arial',
'Courier'
],
default: 'Inter'
}
], ],
quickEditFields: [ quickEditFields: [
'logo', 'logo',
@ -109,6 +106,6 @@ export default {
'email', 'email',
'phone', 'phone',
'address', 'address',
'gstin' 'gstin',
] ],
}; };

View File

@ -12,23 +12,25 @@ export default {
fieldtype: 'Link', fieldtype: 'Link',
target: 'NumberSeries', target: 'NumberSeries',
required: 1, required: 1,
default: 'SINV' default: 'SINV',
}, },
{ {
fieldname: 'template', fieldname: 'template',
label: 'Template', label: 'Template',
placeholder: 'Template',
fieldtype: 'Select', fieldtype: 'Select',
options: ['Basic I', 'Basic II', 'Modern'], options: ['Basic I', 'Basic II', 'Modern'],
required: 1, required: 1,
default: 'Basic I' default: 'Basic I',
}, },
{ {
fieldname: 'font', fieldname: 'font',
label: 'Font', label: 'Font',
placeholder: 'Font',
fieldtype: 'Select', fieldtype: 'Select',
options: ['Montserrat', 'Open Sans', 'Oxygen', 'Merriweather'], options: ['Montserrat', 'Open Sans', 'Oxygen', 'Merriweather'],
required: 1, required: 1,
default: 'Montserrat' default: 'Montserrat',
}, },
{ {
fieldname: 'themeColor', fieldname: 'themeColor',
@ -36,7 +38,7 @@ export default {
fieldtype: 'Data', fieldtype: 'Data',
required: 1, required: 1,
default: '#000000', default: '#000000',
hidden: 1 hidden: 1,
} },
] ],
}; };

View File

@ -13,39 +13,34 @@ export default {
required: 1, required: 1,
default: async () => { default: async () => {
return (await frappe.getSingle('AccountingSettings')).fiscalYearEnd; return (await frappe.getSingle('AccountingSettings')).fiscalYearEnd;
} },
}, },
{ {
fieldtype: 'Select', fieldtype: 'Select',
placeholder: 'Select Period',
size: 'small', size: 'small',
options: [ options: ['Monthly', 'Quarterly', 'Half Yearly', 'Yearly'],
'Select Period...',
'Monthly',
'Quarterly',
'Half Yearly',
'Yearly'
],
label: 'Periodicity', label: 'Periodicity',
fieldname: 'periodicity', fieldname: 'periodicity',
default: 'Monthly' default: 'Monthly',
} },
], ],
getColumns(data) { getColumns(data) {
const columns = [ const columns = [
{ label: 'Account', fieldtype: 'Data', fieldname: 'account', width: 2 } { label: 'Account', fieldtype: 'Data', fieldname: 'account', width: 2 },
]; ];
if (data && data.columns) { if (data && data.columns) {
const currencyColumns = data.columns; const currencyColumns = data.columns;
const columnDefs = currencyColumns.map(name => ({ const columnDefs = currencyColumns.map((name) => ({
label: name, label: name,
fieldname: name, fieldname: name,
fieldtype: 'Currency' fieldtype: 'Currency',
})); }));
columns.push(...columnDefs); columns.push(...columnDefs);
} }
return columns; return columns;
} },
}; };

View File

@ -5,78 +5,79 @@ export default {
{ {
fieldtype: 'Select', fieldtype: 'Select',
label: 'Transfer Type', label: 'Transfer Type',
placeholder: 'Transfer Type',
fieldname: 'transferType', fieldname: 'transferType',
options: [ options: [
'', '',
'B2B', 'B2B',
'B2C-Large', 'B2C-Large',
'B2C-Small', 'B2C-Small',
'Nil Rated, Exempted and Non GST supplies' 'Nil Rated, Exempted and Non GST supplies',
], ],
size: 'small' size: 'small',
}, },
{ {
fieldtype: 'Data', fieldtype: 'Data',
label: 'Place', label: 'Place',
size: 'small', size: 'small',
placeholder: 'Place', placeholder: 'Place',
fieldname: 'place' fieldname: 'place',
}, },
{ {
fieldtype: 'Date', fieldtype: 'Date',
label: 'From Date', label: 'From Date',
size: 'small', size: 'small',
placeholder: 'From Date', placeholder: 'From Date',
fieldname: 'fromDate' fieldname: 'fromDate',
}, },
{ {
fieldtype: 'Date', fieldtype: 'Date',
label: 'To Date', label: 'To Date',
size: 'small', size: 'small',
placeholder: 'To Date', placeholder: 'To Date',
fieldname: 'toDate' fieldname: 'toDate',
} },
], ],
linkFields: [ linkFields: [
{ {
label: 'Export', label: 'Export',
type: 'primary', type: 'primary',
action: async report => { action: async (report) => {
async function getReportDetails() { async function getReportDetails() {
let [rows, columns] = await report.getReportData( let [rows, columns] = await report.getReportData(
report.currentFilters report.currentFilters
); );
let columnData = columns.map(column => { let columnData = columns.map((column) => {
return { return {
id: column.id, id: column.id,
content: column.content, content: column.content,
checked: true checked: true,
}; };
}); });
return { return {
title: title, title: title,
rows: rows, rows: rows,
columnData: columnData columnData: columnData,
}; };
} }
report.$modal.show({ report.$modal.show({
modalProps: { modalProps: {
title: `Export ${title}`, title: `Export ${title}`,
noFooter: true noFooter: true,
}, },
component: ExportWizard, component: ExportWizard,
props: await getReportDetails() props: await getReportDetails(),
}); });
} },
}, },
{ {
label: 'Clear Filters', label: 'Clear Filters',
type: 'secondary', type: 'secondary',
action: async report => { action: async (report) => {
await report.getReportData({}); await report.getReportData({});
report.usedToReRender += 1; report.usedToReRender += 1;
} },
} },
], ],
getColumns() { getColumns() {
@ -85,74 +86,74 @@ export default {
label: 'GSTIN No.', label: 'GSTIN No.',
fieldname: 'gstin', fieldname: 'gstin',
fieldtype: 'Data', fieldtype: 'Data',
width: 100 width: 100,
}, },
{ {
fieldtype: 'Data', fieldtype: 'Data',
fieldname: 'partyName', fieldname: 'partyName',
label: 'Party', label: 'Party',
width: 100 width: 100,
}, },
{ {
label: 'Invoice No.', label: 'Invoice No.',
fieldname: 'invNo', fieldname: 'invNo',
fieldtype: 'Data', fieldtype: 'Data',
width: 100 width: 100,
}, },
{ {
label: 'Invoice Value', label: 'Invoice Value',
fieldname: 'invAmt', fieldname: 'invAmt',
fieldtype: 'Currency', fieldtype: 'Currency',
width: 100 width: 100,
}, },
{ {
label: 'Invoice Date', label: 'Invoice Date',
fieldname: 'invDate', fieldname: 'invDate',
fieldtype: 'Date', fieldtype: 'Date',
width: 100 width: 100,
}, },
{ {
label: 'Place of supply', label: 'Place of supply',
fieldname: 'place', fieldname: 'place',
fieldtype: 'Data', fieldtype: 'Data',
width: 100 width: 100,
}, },
{ {
label: 'Rate', label: 'Rate',
fieldname: 'rate', fieldname: 'rate',
fieldtype: 'Data', fieldtype: 'Data',
width: 80 width: 80,
}, },
{ {
label: 'Taxable Value', label: 'Taxable Value',
fieldname: 'taxVal', fieldname: 'taxVal',
fieldtype: 'Currency', fieldtype: 'Currency',
width: 100 width: 100,
}, },
{ {
label: 'Reverse Chrg.', label: 'Reverse Chrg.',
fieldname: 'reverseCharge', fieldname: 'reverseCharge',
fieldtype: 'Data', fieldtype: 'Data',
width: 80 width: 80,
}, },
{ {
label: 'Intergrated Tax', label: 'Intergrated Tax',
fieldname: 'igstAmt', fieldname: 'igstAmt',
fieldtype: 'Currency', fieldtype: 'Currency',
width: 100 width: 100,
}, },
{ {
label: 'Central Tax', label: 'Central Tax',
fieldname: 'cgstAmt', fieldname: 'cgstAmt',
fieldtype: 'Currency', fieldtype: 'Currency',
width: 100 width: 100,
}, },
{ {
label: 'State Tax', label: 'State Tax',
fieldname: 'sgstAmt', fieldname: 'sgstAmt',
fieldtype: 'Currency', fieldtype: 'Currency',
width: 100 width: 100,
} },
]; ];
} },
}; };

View File

@ -16,7 +16,7 @@ export default {
required: 1, required: 1,
default: async () => { default: async () => {
return (await frappe.getSingle('AccountingSettings')).fiscalYearStart; return (await frappe.getSingle('AccountingSettings')).fiscalYearStart;
} },
}, },
{ {
fieldtype: 'Date', fieldtype: 'Date',
@ -27,39 +27,34 @@ export default {
required: 1, required: 1,
default: async () => { default: async () => {
return (await frappe.getSingle('AccountingSettings')).fiscalYearEnd; return (await frappe.getSingle('AccountingSettings')).fiscalYearEnd;
} },
}, },
{ {
fieldtype: 'Select', fieldtype: 'Select',
size: 'small', size: 'small',
options: [ options: ['Monthly', 'Quarterly', 'Half Yearly', 'Yearly'],
'Select Period...',
'Monthly',
'Quarterly',
'Half Yearly',
'Yearly'
],
default: 'Monthly', default: 'Monthly',
label: 'Periodicity', label: 'Periodicity',
fieldname: 'periodicity' placeholder: 'Select Period...',
} fieldname: 'periodicity',
},
], ],
getColumns(data) { getColumns(data) {
const columns = [ const columns = [
{ label: 'Account', fieldtype: 'Data', fieldname: 'account', width: 2 } { label: 'Account', fieldtype: 'Data', fieldname: 'account', width: 2 },
]; ];
if (data && data.columns) { if (data && data.columns) {
const currencyColumns = data.columns; const currencyColumns = data.columns;
const columnDefs = currencyColumns.map(name => ({ const columnDefs = currencyColumns.map((name) => ({
label: name, label: name,
fieldname: name, fieldname: name,
fieldtype: 'Currency' fieldtype: 'Currency',
})); }));
columns.push(...columnDefs); columns.push(...columnDefs);
} }
return columns; return columns;
} },
}; };

View File

@ -63,7 +63,7 @@ export default {
return this.getInputClassesFromProp(classes); return this.getInputClassesFromProp(classes);
}, },
inputPlaceholder() { inputPlaceholder() {
return this.placeholder || this.df.placeholder; return this.placeholder || this.df.placeholder || this.df.label;
}, },
isReadOnly() { isReadOnly() {
if (this.readOnly != null) { if (this.readOnly != null) {