RealPivot2 API ๊ฐ์
RealPivot2๋ ์ฒ์ ํ๋ฉด์ ํ์๋ ํผ๋ฒ์ ๊ตฌ์ฑ ์ค์ ์ ๋ชจ๋ ์ค๋นํ ๋ค ์ปจํธ๋กค์ ์์ฑํ๋ค.
๋ฐ์ดํฐ๋ Cube๋ก ๋๊ณ , ๋ถยทํ
์ด๋ธยทํ๋ ๋ฐฐ์น ๋ฑ UI ๊ตฌ์ฑ์ PivotBookConfiguration JSON ๊ฐ์ฒด ํ๋์ ๋ด์ ์ ์๋ค.
const config = {
general: { theme: 'light' },
inspector: true,
tables: {
name: 'sales',
cube: 'sales',
title: '๋งค์ถ ๋ถ์',
fields: {
filters: ['๊ตญ๊ฐ'],
rows: ['์ฐจ์ข
', '๋ธ๋๋๋ช
'],
columns: ['ํ๋งค๋ถ๊ธฐ', 'ํ๋งค์'],
values: ['ํ๋งค์๋', '์ฐจ๋๊ฐ๊ฒฉ'],
},
},
// ...
};
const control = createControl(document, 'container', cubeManager, config);๋ง์ ๊ฒฝ์ฐ ํผ๋ฒ์ ํ๋ฉด์ ํ์ํ๋ ๊ฒ๋ง์ผ๋ก ์๋ฃ๋ ์ ์์ง๋ง, ํ๋ ๋ฐฐ์น๋ฅผ ๋ฐ๊พธ๊ฑฐ๋ ์ค๋ฒ๋ ์ดยท์๊ณ ํ์ ์ฌ๋ถ๋ฅผ ํ ๊ธํ๋ ๋ฑ ์คํ ์ค ์ํ๋ฅผ ๋์ ์ผ๋ก ๋ณ๊ฒฝํด์ผ ํ ๋๊ฐ ์๋ค. RealPivot2๋ ๊ทธ ์ํ๋ฅผ ์ฝ๊ณ ๋ฐ๊ฟ ์ ์๋ API๋ฅผ ์ ๊ณตํ๋ค.
API๋ ํผ๋ฒ ๊ตฌ์ฑ ์์ ๋ชจ๋ธ๋ค์ ์งํฉ์ด๋ผ๊ณ ํ ์ ์๋ค. ๊ฐ ๊ตฌ์ฑ ์์๋ ์ต์์ PivotControl์์ BookยทTableยทField ๋ฑ ๋ชจ๋ธ ๊ฐ์ฒด๋ก ๊ฐ์ ธ์ฌ ์ ์๋ค. ๊ตฌ์ฑ ์์ ๋ชจ๋ธ๋ค์ ์ต์์ ํด๋์ค์ธ PivotItem์ ์ง๊ฐ์ ์ ์ผ๋ก ๊ณ์นํ๋ฉฐ, PivotItem์ ์คํ ์๊ฐ ์ค์ ๋ณ๊ฒฝ์ ์ํ ๋ฉ์๋๋ค์ด ๊ตฌํ๋์ด ์๋ค.
const book = control.book; // ํผ๋ฒ ๋ถ
const table = control.table; // ํ์ฌ ํ์ฑ ํ
์ด๋ธ(ํ์ด์ง)
const fields = table.fields; // ํ๋ ๋งค๋์ ์์ ๋ชจ๋ธ์ ํ์ ์์ ๊ฐ์ฒด๋ฅผ ๊ฐ์ง๊ณ ์์ ์ ์๋ค.
const valueField = fields.getValueField('ํ๋งค์๋');
const dataBar = valueField.dataBar; // ๊ฐ ํ๋์ ๋ฐ์ดํฐ๋ฐ ์ค๋ฒ๋ ์ด ๋ชจ๋ธ๊ฐ ๋ชจ๋ธ์ ์ค์ ์ต์
์ผ๋ก ๋์๊ณผ ํ์ ๋ฐฉ์์ ์ ํ๋ค. ์ต์
์ ์ฝ์ ๋๋ options๋ฅผ ์ง์ ๋ณด์ง ๋ง๊ณ prop()์ ์ฌ์ฉํ๊ณ , ๋ฐ๊ฟ ๋๋ updateOption / updateOptions๋ฅผ ํธ์ถํ๋ค.
console.log(valueField.prop('aggregate')); // ์ง๊ณ ๋ฐฉ์ ์กฐํ
valueField.updateOption('aggregate', 'avg'); // ๋จ์ผ ์์ฑ ๋ณ๊ฒฝ
// ์ฌ๋ฌ ์์ฑ์ ํ๊บผ๋ฒ์ ์ค์
valueField.updateOptions({
aggregate: 'sum',
label: 'ํ๋งค ์๋',
});๊ฐ์ฒดํ ์ต์
์ ๋ด๋ถ ์์ฑ๋ง ๋ฐ๊ฟ์๋ ํ๋ฉด์ ๋ฐ์๋์ง ์์ ์ ์๋ค. ๋ฐ๋์ updateOption / updateOptions๋ก ๊ฐฑ์ ํ๋ค. Undo๊ฐ ํ์ํ๋ฉด ๋ชจ๋ธ์ ์ง์ ์ฐ๊ธฐ๋ณด๋ค Book API๋ฅผ ๊ถ์ฅํ๋ค.
// Undo ์คํ์ ๋จ๊ธฐ๋ ค๋ฉด book ๊ฒฝ์
book.updateItem(valueField.dataBar, { visible: true });
book.updateProp(valueField, 'aggregate', 'sum');๋ชจ๋ธ์ ๋ด๋ถ ์ต์
์ ์ฅ์๋ ์คํ ์ค ์ธ์ ๋ ์๋ก์ด ์ํ๋ก ๋ฐ๋ ์ ์์ผ๋ฏ๋ก, options ๊ฐ์ฒด๋ฅผ ์ธ๋ถ์ ๋ณด๊ดํด ๋๊ณ ์ฌ์ฌ์ฉํ๋ ๊ฒ์ ํผํด์ผ ํ๋ค.
์ค์ ํธ๋ฆฌ ์ค๋ช ์ Config ๊ฐ์๋ฅผ, ํ์ ยท์์ฑ ์ ์ฒด ๋ชฉ๋ก์ OptionsยทClasses๋ฅผ ์ฐธ๊ณ ํ๋ค.