@coorpacademy/components 11.24.0 → 11.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/molecule/expandible-actionable-table/index.d.ts +2 -2
- package/es/molecule/expandible-actionable-table/index.d.ts.map +1 -1
- package/es/molecule/expandible-actionable-table/index.js +5 -5
- package/es/molecule/expandible-actionable-table/index.js.map +1 -1
- package/es/molecule/expandible-actionable-table/style.css +0 -2
- package/lib/molecule/expandible-actionable-table/index.d.ts +2 -2
- package/lib/molecule/expandible-actionable-table/index.d.ts.map +1 -1
- package/lib/molecule/expandible-actionable-table/index.js +5 -5
- package/lib/molecule/expandible-actionable-table/index.js.map +1 -1
- package/lib/molecule/expandible-actionable-table/style.css +0 -2
- package/locales/fi/global.json +98 -0
- package/locales/sv/global.json +98 -0
- package/package.json +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { WebContextValues } from '../../atom/provider/web-context';
|
|
3
3
|
import { Props } from './types';
|
|
4
|
-
declare const
|
|
4
|
+
declare const ActionableExpandableTable: {
|
|
5
5
|
(props: Props, legacyContext: WebContextValues): JSX.Element;
|
|
6
6
|
contextTypes: {
|
|
7
7
|
skin: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
@@ -102,5 +102,5 @@ declare const ActionableExpandableErrorsTable: {
|
|
|
102
102
|
emptyStateSecondMessage: import("prop-types").Requireable<string>;
|
|
103
103
|
};
|
|
104
104
|
};
|
|
105
|
-
export default
|
|
105
|
+
export default ActionableExpandableTable;
|
|
106
106
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/expandible-actionable-table/index.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAOjE,OAAO,EAA2C,KAAK,EAAY,MAAM,SAAS,CAAC;AAqCnF,QAAA,MAAM
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/expandible-actionable-table/index.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAOjE,OAAO,EAA2C,KAAK,EAAY,MAAM,SAAS,CAAC;AAqCnF,QAAA,MAAM,yBAAyB;YAAW,KAAK,iBAAiB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoL/E,CAAC;AASF,eAAe,yBAAyB,CAAC"}
|
|
@@ -60,11 +60,11 @@ const buildNestedRow = row => {
|
|
|
60
60
|
return /*#__PURE__*/React.createElement(ErrorsTable, row);
|
|
61
61
|
|
|
62
62
|
case 'expandible-errors-table':
|
|
63
|
-
return /*#__PURE__*/React.createElement(
|
|
63
|
+
return /*#__PURE__*/React.createElement(ActionableExpandableTable, row);
|
|
64
64
|
}
|
|
65
65
|
};
|
|
66
66
|
|
|
67
|
-
const
|
|
67
|
+
const ActionableExpandableTable = (props, legacyContext) => {
|
|
68
68
|
const {
|
|
69
69
|
columns,
|
|
70
70
|
rows = [],
|
|
@@ -198,10 +198,10 @@ const ActionableExpandableErrorsTable = (props, legacyContext) => {
|
|
|
198
198
|
}, /*#__PURE__*/React.createElement("tr", null, headerView)), /*#__PURE__*/React.createElement("tbody", null, bodyView)));
|
|
199
199
|
};
|
|
200
200
|
|
|
201
|
-
|
|
201
|
+
ActionableExpandableTable.contextTypes = {
|
|
202
202
|
skin: Provider.childContextTypes.skin,
|
|
203
203
|
translate: Provider.childContextTypes.translate
|
|
204
204
|
};
|
|
205
|
-
|
|
206
|
-
export default
|
|
205
|
+
ActionableExpandableTable.propTypes = process.env.NODE_ENV !== "production" ? propTypes : {};
|
|
206
|
+
export default ActionableExpandableTable;
|
|
207
207
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useState","classnames","ButtonLinkIconOnly","StatusItem","BulkProgressBar","Provider","GetTranslateFromContext","BulletPointMenuButton","ButtonLink","ErrorsTable","EmptySearchResult","style","propTypes","buildField","field","componentType","statusItemWrapper","buildLastField","lastField","buildNestedRow","row","ActionableExpandableErrorsTable","props","legacyContext","columns","rows","stickyFirstColumn","stickyLastColumn","ariaDescribedby","columnWidth","isNestedTable","emptyStateFistMessage","emptyStateSecondMessage","translate","expandedRows","setExpandedRows","expandState","setExpandState","wrapper","handleExpandRow","index","isRowExpanded","newExpandedRows","filter","id","concat","expandedState","forEach","headerRow","map","column","cIndex","title","headerFirstSticky","headerFirst","header","push","headerLastSticky","headerLast","headerView","bodyView","fields","isRowExpandible","bodyRow","fIndex","cellContent","columFirstWrapper","expandButtonWrapper","columnFirstSticky","columnFirst","col","width","columnLastSticky","columnLast","inspectButton","nestedRow","nestedRowCellule","includes","length","table","theadNested","thead","contextTypes","skin","childContextTypes"],"sources":["../../../src/molecule/expandible-actionable-table/index.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport classnames from 'classnames';\nimport {get, isString, size, includes, isEmpty} from 'lodash/fp';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport StatusItem from '../../atom/status-item';\nimport BulkProgressBar from '../bulk-progress-bar';\nimport {WebContextValues} from '../../atom/provider/web-context';\nimport Provider, {GetTranslateFromContext} from '../../atom/provider';\nimport BulletPointMenuButton from '../bullet-point-menu-button';\nimport ButtonLink from '../../atom/button-link';\nimport ErrorsTable from '../errors-table';\nimport EmptySearchResult from '../../atom/empty-search-result';\nimport style from './style.css';\nimport {ExpandState, Field, LastField, NestedRow, Props, propTypes} from './types';\n\nconst buildField = (field: Field) => {\n if (isString(field)) return field;\n const {componentType} = field;\n switch (componentType) {\n case 'status':\n return (\n <div className={style.statusItemWrapper}>\n <StatusItem {...field} />\n </div>\n );\n case 'progress-bar':\n return <BulkProgressBar {...field} />;\n }\n};\n\nconst buildLastField = (lastField: LastField) => {\n const {componentType} = lastField;\n switch (componentType) {\n case 'menu':\n return <BulletPointMenuButton {...lastField} />;\n case 'button-link':\n return <ButtonLink {...lastField} />;\n }\n};\n\nconst buildNestedRow = (row: NestedRow) => {\n const {componentType} = row;\n switch (componentType) {\n case 'errors-table':\n return <ErrorsTable {...row} />;\n case 'expandible-errors-table':\n return <ActionableExpandableErrorsTable {...row} />;\n }\n};\n\nconst ActionableExpandableErrorsTable = (props: Props, legacyContext: WebContextValues) => {\n const {\n columns,\n rows = [],\n lastField,\n stickyFirstColumn = false,\n stickyLastColumn = false,\n ariaDescribedby,\n columnWidth = `${100 / size(columns)}%`,\n isNestedTable = false,\n emptyStateFistMessage = '',\n emptyStateSecondMessage = ''\n } = props;\n\n const translate = GetTranslateFromContext(legacyContext);\n\n /**\n * State variable to keep track of all the expanded rows\n * By default, nothing expanded. Hence initialized with empty array.\n */\n const [expandedRows, setExpandedRows] = useState<number[]>([]);\n\n /**\n * State variable to keep track which row is currently expanded.\n */\n const [expandState, setExpandState] = useState<ExpandState>({});\n\n if (isEmpty(columns))\n return (\n <div className={style.wrapper}>\n <EmptySearchResult\n firstMessage={emptyStateFistMessage}\n secondMessage={emptyStateSecondMessage}\n isBulk\n />\n </div>\n );\n\n /**\n * This function gets called when show/hide link is clicked.\n */\n const handleExpandRow = (index: number) => () => {\n const isRowExpanded = includes(index, expandedRows);\n\n /**\n * If the row is expanded, we are here to hide it. Hence remove\n * it from the state variable. Otherwise add to it.\n */\n const newExpandedRows = isRowExpanded\n ? expandedRows.filter(id => id !== index)\n : expandedRows.concat(index);\n\n setExpandedRows(newExpandedRows);\n\n /**\n * Create a new object to update the expanded state of all rows\n * Use the newExpandedRows array to set the state of all rows that are currently expanded\n */\n const expandedState: ExpandState = {};\n newExpandedRows.forEach(id => {\n expandedState[id] = true;\n });\n\n setExpandState(expandedState);\n };\n\n const headerRow = columns.map((column, cIndex) => {\n const {title} = column;\n return (\n <th\n className={\n cIndex === 0\n ? classnames(\n stickyFirstColumn ? style.headerFirstSticky : style.headerFirst,\n style.header\n )\n : style.header\n }\n key={`${title}-${cIndex}`}\n role=\"columnheader\"\n >\n {title}\n </th>\n );\n });\n\n headerRow.push(\n <th\n className={stickyLastColumn ? style.headerLastSticky : style.headerLast}\n key=\"action-header\"\n />\n );\n const headerView = [...headerRow];\n\n const bodyView = rows.map((row, index) => {\n const {fields, isRowExpandible = false} = row;\n const bodyRow = fields.map((field, fIndex) => {\n const cellContent =\n fIndex === 0 ? (\n <div className={style.columFirstWrapper}>\n <div className={style.expandButtonWrapper}>\n {isRowExpandible ? (\n <ButtonLinkIconOnly\n onClick={handleExpandRow(index)}\n data-name={`arrowUp-button-${index}`}\n icon=\"down\"\n className={expandState[index] ? 'bulkArrowUp' : 'bulkArrowDown'}\n aria-label={translate('bulk_import.show_errors')}\n />\n ) : null}\n </div>\n {buildField(field)}\n </div>\n ) : (\n buildField(field)\n );\n return (\n <td\n className={\n fIndex === 0\n ? classnames(\n stickyFirstColumn ? style.columnFirstSticky : style.columnFirst,\n style.col\n )\n : style.col\n }\n style={{width: columnWidth}}\n key={`${field}-${fIndex}`}\n >\n {cellContent}\n </td>\n );\n });\n\n bodyRow.push(\n <td\n className={stickyLastColumn ? style.columnLastSticky : style.columnLast}\n key=\"actionHeader\"\n >\n {lastField ? (\n <div\n className={classnames({\n [style.inspectButton]: get('className', lastField) === 'bulkInspectButton'\n })}\n >\n {buildLastField(lastField)}\n </div>\n ) : null}\n </td>\n );\n const nestedRow = get('nestedRow', row);\n const nestedRowCellule =\n nestedRow && expandedRows.includes(index) ? (\n <tr key={`line-${index}-error`}>\n <td className={style.nestedRowCellule} colSpan={fields.length + 2}>\n {buildNestedRow(nestedRow)}\n </td>\n </tr>\n ) : null;\n\n return nestedRowCellule\n ? [<tr key={`line-${index}`}>{bodyRow}</tr>, nestedRowCellule]\n : [<tr key={`line-${index}`}>{bodyRow}</tr>];\n });\n\n return (\n <div className={style.wrapper}>\n <table\n {...(ariaDescribedby ? {'aria-describedby': ariaDescribedby} : {})}\n className={style.table}\n data-testid=\"expandible-actionable-table\"\n data-name=\"expandible-actionable-table\"\n >\n <thead className={isNestedTable ? style.theadNested : style.thead}>\n <tr>{headerView}</tr>\n </thead>\n <tbody>{bodyView}</tbody>\n </table>\n </div>\n );\n};\n\nActionableExpandableErrorsTable.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nActionableExpandableErrorsTable.propTypes = propTypes;\n\nexport default ActionableExpandableErrorsTable;\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAP,IAAeC,QAAf,QAA8B,OAA9B;AACA,OAAOC,UAAP,MAAuB,YAAvB;AAEA,OAAOC,kBAAP,MAA+B,kCAA/B;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,eAAP,MAA4B,sBAA5B;AAEA,OAAOC,QAAP,IAAkBC,uBAAlB,QAAgD,qBAAhD;AACA,OAAOC,qBAAP,MAAkC,6BAAlC;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,OAAOC,WAAP,MAAwB,iBAAxB;AACA,OAAOC,iBAAP,MAA8B,gCAA9B;AACA,OAAOC,KAAP,MAAkB,aAAlB;AACA,SAAyDC,SAAzD,QAAyE,SAAzE;;AAEA,MAAMC,UAAU,GAAIC,KAAD,IAAkB;EACnC,IAAI,UAASA,KAAT,CAAJ,EAAqB,OAAOA,KAAP;EACrB,MAAM;IAACC;EAAD,IAAkBD,KAAxB;;EACA,QAAQC,aAAR;IACE,KAAK,QAAL;MACE,oBACE;QAAK,SAAS,EAAEJ,KAAK,CAACK;MAAtB,gBACE,oBAAC,UAAD,EAAgBF,KAAhB,CADF,CADF;;IAKF,KAAK,cAAL;MACE,oBAAO,oBAAC,eAAD,EAAqBA,KAArB,CAAP;EARJ;AAUD,CAbD;;AAeA,MAAMG,cAAc,GAAIC,SAAD,IAA0B;EAC/C,MAAM;IAACH;EAAD,IAAkBG,SAAxB;;EACA,QAAQH,aAAR;IACE,KAAK,MAAL;MACE,oBAAO,oBAAC,qBAAD,EAA2BG,SAA3B,CAAP;;IACF,KAAK,aAAL;MACE,oBAAO,oBAAC,UAAD,EAAgBA,SAAhB,CAAP;EAJJ;AAMD,CARD;;AAUA,MAAMC,cAAc,GAAIC,GAAD,IAAoB;EACzC,MAAM;IAACL;EAAD,IAAkBK,GAAxB;;EACA,QAAQL,aAAR;IACE,KAAK,cAAL;MACE,oBAAO,oBAAC,WAAD,EAAiBK,GAAjB,CAAP;;IACF,KAAK,yBAAL;MACE,oBAAO,oBAAC,+BAAD,EAAqCA,GAArC,CAAP;EAJJ;AAMD,CARD;;AAUA,MAAMC,+BAA+B,GAAG,CAACC,KAAD,EAAeC,aAAf,KAAmD;EACzF,MAAM;IACJC,OADI;IAEJC,IAAI,GAAG,EAFH;IAGJP,SAHI;IAIJQ,iBAAiB,GAAG,KAJhB;IAKJC,gBAAgB,GAAG,KALf;IAMJC,eANI;IAOJC,WAAW,GAAI,GAAE,MAAM,MAAKL,OAAL,CAAc,GAPjC;IAQJM,aAAa,GAAG,KARZ;IASJC,qBAAqB,GAAG,EATpB;IAUJC,uBAAuB,GAAG;EAVtB,IAWFV,KAXJ;EAaA,MAAMW,SAAS,GAAG3B,uBAAuB,CAACiB,aAAD,CAAzC;EAEA;AACF;AACA;AACA;;EACE,MAAM,CAACW,YAAD,EAAeC,eAAf,IAAkCnC,QAAQ,CAAW,EAAX,CAAhD;EAEA;AACF;AACA;;EACE,MAAM,CAACoC,WAAD,EAAcC,cAAd,IAAgCrC,QAAQ,CAAc,EAAd,CAA9C;EAEA,IAAI,SAAQwB,OAAR,CAAJ,EACE,oBACE;IAAK,SAAS,EAAEb,KAAK,CAAC2B;EAAtB,gBACE,oBAAC,iBAAD;IACE,YAAY,EAAEP,qBADhB;IAEE,aAAa,EAAEC,uBAFjB;IAGE,MAAM;EAHR,EADF,CADF;EAUF;AACF;AACA;;EACE,MAAMO,eAAe,GAAIC,KAAD,IAAmB,MAAM;IAC/C,MAAMC,aAAa,GAAG,UAASD,KAAT,EAAgBN,YAAhB,CAAtB;IAEA;AACJ;AACA;AACA;;;IACI,MAAMQ,eAAe,GAAGD,aAAa,GACjCP,YAAY,CAACS,MAAb,CAAoBC,EAAE,IAAIA,EAAE,KAAKJ,KAAjC,CADiC,GAEjCN,YAAY,CAACW,MAAb,CAAoBL,KAApB,CAFJ;IAIAL,eAAe,CAACO,eAAD,CAAf;IAEA;AACJ;AACA;AACA;;IACI,MAAMI,aAA0B,GAAG,EAAnC;IACAJ,eAAe,CAACK,OAAhB,CAAwBH,EAAE,IAAI;MAC5BE,aAAa,CAACF,EAAD,CAAb,GAAoB,IAApB;IACD,CAFD;IAIAP,cAAc,CAACS,aAAD,CAAd;EACD,CAvBD;;EAyBA,MAAME,SAAS,GAAGxB,OAAO,CAACyB,GAAR,CAAY,CAACC,MAAD,EAASC,MAAT,KAAoB;IAChD,MAAM;MAACC;IAAD,IAAUF,MAAhB;IACA,oBACE;MACE,SAAS,EACPC,MAAM,KAAK,CAAX,GACIlD,UAAU,CACRyB,iBAAiB,GAAGf,KAAK,CAAC0C,iBAAT,GAA6B1C,KAAK,CAAC2C,WAD5C,EAER3C,KAAK,CAAC4C,MAFE,CADd,GAKI5C,KAAK,CAAC4C,MAPd;MASE,GAAG,EAAG,GAAEH,KAAM,IAAGD,MAAO,EAT1B;MAUE,IAAI,EAAC;IAVP,GAYGC,KAZH,CADF;EAgBD,CAlBiB,CAAlB;EAoBAJ,SAAS,CAACQ,IAAV,eACE;IACE,SAAS,EAAE7B,gBAAgB,GAAGhB,KAAK,CAAC8C,gBAAT,GAA4B9C,KAAK,CAAC+C,UAD/D;IAEE,GAAG,EAAC;EAFN,EADF;EAMA,MAAMC,UAAU,GAAG,CAAC,GAAGX,SAAJ,CAAnB;EAEA,MAAMY,QAAQ,GAAGnC,IAAI,CAACwB,GAAL,CAAS,CAAC7B,GAAD,EAAMoB,KAAN,KAAgB;IACxC,MAAM;MAACqB,MAAD;MAASC,eAAe,GAAG;IAA3B,IAAoC1C,GAA1C;IACA,MAAM2C,OAAO,GAAGF,MAAM,CAACZ,GAAP,CAAW,CAACnC,KAAD,EAAQkD,MAAR,KAAmB;MAC5C,MAAMC,WAAW,GACfD,MAAM,KAAK,CAAX,gBACE;QAAK,SAAS,EAAErD,KAAK,CAACuD;MAAtB,gBACE;QAAK,SAAS,EAAEvD,KAAK,CAACwD;MAAtB,GACGL,eAAe,gBACd,oBAAC,kBAAD;QACE,OAAO,EAAEvB,eAAe,CAACC,KAAD,CAD1B;QAEE,aAAY,kBAAiBA,KAAM,EAFrC;QAGE,IAAI,EAAC,MAHP;QAIE,SAAS,EAAEJ,WAAW,CAACI,KAAD,CAAX,GAAqB,aAArB,GAAqC,eAJlD;QAKE,cAAYP,SAAS,CAAC,yBAAD;MALvB,EADc,GAQZ,IATN,CADF,EAYGpB,UAAU,CAACC,KAAD,CAZb,CADF,GAgBED,UAAU,CAACC,KAAD,CAjBd;MAmBA,oBACE;QACE,SAAS,EACPkD,MAAM,KAAK,CAAX,GACI/D,UAAU,CACRyB,iBAAiB,GAAGf,KAAK,CAACyD,iBAAT,GAA6BzD,KAAK,CAAC0D,WAD5C,EAER1D,KAAK,CAAC2D,GAFE,CADd,GAKI3D,KAAK,CAAC2D,GAPd;QASE,KAAK,EAAE;UAACC,KAAK,EAAE1C;QAAR,CATT;QAUE,GAAG,EAAG,GAAEf,KAAM,IAAGkD,MAAO;MAV1B,GAYGC,WAZH,CADF;IAgBD,CApCe,CAAhB;IAsCAF,OAAO,CAACP,IAAR,eACE;MACE,SAAS,EAAE7B,gBAAgB,GAAGhB,KAAK,CAAC6D,gBAAT,GAA4B7D,KAAK,CAAC8D,UAD/D;MAEE,GAAG,EAAC;IAFN,GAIGvD,SAAS,gBACR;MACE,SAAS,EAAEjB,UAAU,CAAC;QACpB,CAACU,KAAK,CAAC+D,aAAP,GAAuB,KAAI,WAAJ,EAAiBxD,SAAjB,MAAgC;MADnC,CAAD;IADvB,GAKGD,cAAc,CAACC,SAAD,CALjB,CADQ,GAQN,IAZN,CADF;;IAgBA,MAAMyD,SAAS,GAAG,KAAI,WAAJ,EAAiBvD,GAAjB,CAAlB;;IACA,MAAMwD,gBAAgB,GACpBD,SAAS,IAAIzC,YAAY,CAAC2C,QAAb,CAAsBrC,KAAtB,CAAb,gBACE;MAAI,GAAG,EAAG,QAAOA,KAAM;IAAvB,gBACE;MAAI,SAAS,EAAE7B,KAAK,CAACiE,gBAArB;MAAuC,OAAO,EAAEf,MAAM,CAACiB,MAAP,GAAgB;IAAhE,GACG3D,cAAc,CAACwD,SAAD,CADjB,CADF,CADF,GAMI,IAPN;IASA,OAAOC,gBAAgB,GACnB,cAAC;MAAI,GAAG,EAAG,QAAOpC,KAAM;IAAvB,GAA2BuB,OAA3B,CAAD,EAA2Ca,gBAA3C,CADmB,GAEnB,cAAC;MAAI,GAAG,EAAG,QAAOpC,KAAM;IAAvB,GAA2BuB,OAA3B,CAAD,CAFJ;EAGD,CArEgB,CAAjB;EAuEA,oBACE;IAAK,SAAS,EAAEpD,KAAK,CAAC2B;EAAtB,gBACE,0CACOV,eAAe,GAAG;IAAC,oBAAoBA;EAArB,CAAH,GAA2C,EADjE;IAEE,SAAS,EAAEjB,KAAK,CAACoE,KAFnB;IAGE,eAAY,6BAHd;IAIE,aAAU;EAJZ,iBAME;IAAO,SAAS,EAAEjD,aAAa,GAAGnB,KAAK,CAACqE,WAAT,GAAuBrE,KAAK,CAACsE;EAA5D,gBACE,gCAAKtB,UAAL,CADF,CANF,eASE,mCAAQC,QAAR,CATF,CADF,CADF;AAeD,CApLD;;AAsLAvC,+BAA+B,CAAC6D,YAAhC,GAA+C;EAC7CC,IAAI,EAAE9E,QAAQ,CAAC+E,iBAAT,CAA2BD,IADY;EAE7ClD,SAAS,EAAE5B,QAAQ,CAAC+E,iBAAT,CAA2BnD;AAFO,CAA/C;AAKAZ,+BAA+B,CAACT,SAAhC,2CAA4CA,SAA5C;AAEA,eAAeS,+BAAf"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useState","classnames","ButtonLinkIconOnly","StatusItem","BulkProgressBar","Provider","GetTranslateFromContext","BulletPointMenuButton","ButtonLink","ErrorsTable","EmptySearchResult","style","propTypes","buildField","field","componentType","statusItemWrapper","buildLastField","lastField","buildNestedRow","row","ActionableExpandableTable","props","legacyContext","columns","rows","stickyFirstColumn","stickyLastColumn","ariaDescribedby","columnWidth","isNestedTable","emptyStateFistMessage","emptyStateSecondMessage","translate","expandedRows","setExpandedRows","expandState","setExpandState","wrapper","handleExpandRow","index","isRowExpanded","newExpandedRows","filter","id","concat","expandedState","forEach","headerRow","map","column","cIndex","title","headerFirstSticky","headerFirst","header","push","headerLastSticky","headerLast","headerView","bodyView","fields","isRowExpandible","bodyRow","fIndex","cellContent","columFirstWrapper","expandButtonWrapper","columnFirstSticky","columnFirst","col","width","columnLastSticky","columnLast","inspectButton","nestedRow","nestedRowCellule","includes","length","table","theadNested","thead","contextTypes","skin","childContextTypes"],"sources":["../../../src/molecule/expandible-actionable-table/index.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport classnames from 'classnames';\nimport {get, isString, size, includes, isEmpty} from 'lodash/fp';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport StatusItem from '../../atom/status-item';\nimport BulkProgressBar from '../bulk-progress-bar';\nimport {WebContextValues} from '../../atom/provider/web-context';\nimport Provider, {GetTranslateFromContext} from '../../atom/provider';\nimport BulletPointMenuButton from '../bullet-point-menu-button';\nimport ButtonLink from '../../atom/button-link';\nimport ErrorsTable from '../errors-table';\nimport EmptySearchResult from '../../atom/empty-search-result';\nimport style from './style.css';\nimport {ExpandState, Field, LastField, NestedRow, Props, propTypes} from './types';\n\nconst buildField = (field: Field) => {\n if (isString(field)) return field;\n const {componentType} = field;\n switch (componentType) {\n case 'status':\n return (\n <div className={style.statusItemWrapper}>\n <StatusItem {...field} />\n </div>\n );\n case 'progress-bar':\n return <BulkProgressBar {...field} />;\n }\n};\n\nconst buildLastField = (lastField: LastField) => {\n const {componentType} = lastField;\n switch (componentType) {\n case 'menu':\n return <BulletPointMenuButton {...lastField} />;\n case 'button-link':\n return <ButtonLink {...lastField} />;\n }\n};\n\nconst buildNestedRow = (row: NestedRow) => {\n const {componentType} = row;\n switch (componentType) {\n case 'errors-table':\n return <ErrorsTable {...row} />;\n case 'expandible-errors-table':\n return <ActionableExpandableTable {...row} />;\n }\n};\n\nconst ActionableExpandableTable = (props: Props, legacyContext: WebContextValues) => {\n const {\n columns,\n rows = [],\n lastField,\n stickyFirstColumn = false,\n stickyLastColumn = false,\n ariaDescribedby,\n columnWidth = `${100 / size(columns)}%`,\n isNestedTable = false,\n emptyStateFistMessage = '',\n emptyStateSecondMessage = ''\n } = props;\n\n const translate = GetTranslateFromContext(legacyContext);\n\n /**\n * State variable to keep track of all the expanded rows\n * By default, nothing expanded. Hence initialized with empty array.\n */\n const [expandedRows, setExpandedRows] = useState<number[]>([]);\n\n /**\n * State variable to keep track which row is currently expanded.\n */\n const [expandState, setExpandState] = useState<ExpandState>({});\n\n if (isEmpty(columns))\n return (\n <div className={style.wrapper}>\n <EmptySearchResult\n firstMessage={emptyStateFistMessage}\n secondMessage={emptyStateSecondMessage}\n isBulk\n />\n </div>\n );\n\n /**\n * This function gets called when show/hide link is clicked.\n */\n const handleExpandRow = (index: number) => () => {\n const isRowExpanded = includes(index, expandedRows);\n\n /**\n * If the row is expanded, we are here to hide it. Hence remove\n * it from the state variable. Otherwise add to it.\n */\n const newExpandedRows = isRowExpanded\n ? expandedRows.filter(id => id !== index)\n : expandedRows.concat(index);\n\n setExpandedRows(newExpandedRows);\n\n /**\n * Create a new object to update the expanded state of all rows\n * Use the newExpandedRows array to set the state of all rows that are currently expanded\n */\n const expandedState: ExpandState = {};\n newExpandedRows.forEach(id => {\n expandedState[id] = true;\n });\n\n setExpandState(expandedState);\n };\n\n const headerRow = columns.map((column, cIndex) => {\n const {title} = column;\n return (\n <th\n className={\n cIndex === 0\n ? classnames(\n stickyFirstColumn ? style.headerFirstSticky : style.headerFirst,\n style.header\n )\n : style.header\n }\n key={`${title}-${cIndex}`}\n role=\"columnheader\"\n >\n {title}\n </th>\n );\n });\n\n headerRow.push(\n <th\n className={stickyLastColumn ? style.headerLastSticky : style.headerLast}\n key=\"action-header\"\n />\n );\n const headerView = [...headerRow];\n\n const bodyView = rows.map((row, index) => {\n const {fields, isRowExpandible = false} = row;\n const bodyRow = fields.map((field, fIndex) => {\n const cellContent =\n fIndex === 0 ? (\n <div className={style.columFirstWrapper}>\n <div className={style.expandButtonWrapper}>\n {isRowExpandible ? (\n <ButtonLinkIconOnly\n onClick={handleExpandRow(index)}\n data-name={`arrowUp-button-${index}`}\n icon=\"down\"\n className={expandState[index] ? 'bulkArrowUp' : 'bulkArrowDown'}\n aria-label={translate('bulk_import.show_errors')}\n />\n ) : null}\n </div>\n {buildField(field)}\n </div>\n ) : (\n buildField(field)\n );\n return (\n <td\n className={\n fIndex === 0\n ? classnames(\n stickyFirstColumn ? style.columnFirstSticky : style.columnFirst,\n style.col\n )\n : style.col\n }\n style={{width: columnWidth}}\n key={`${field}-${fIndex}`}\n >\n {cellContent}\n </td>\n );\n });\n\n bodyRow.push(\n <td\n className={stickyLastColumn ? style.columnLastSticky : style.columnLast}\n key=\"actionHeader\"\n >\n {lastField ? (\n <div\n className={classnames({\n [style.inspectButton]: get('className', lastField) === 'bulkInspectButton'\n })}\n >\n {buildLastField(lastField)}\n </div>\n ) : null}\n </td>\n );\n const nestedRow = get('nestedRow', row);\n const nestedRowCellule =\n nestedRow && expandedRows.includes(index) ? (\n <tr key={`line-${index}-error`}>\n <td className={style.nestedRowCellule} colSpan={fields.length + 2}>\n {buildNestedRow(nestedRow)}\n </td>\n </tr>\n ) : null;\n\n return nestedRowCellule\n ? [<tr key={`line-${index}`}>{bodyRow}</tr>, nestedRowCellule]\n : [<tr key={`line-${index}`}>{bodyRow}</tr>];\n });\n\n return (\n <div className={style.wrapper}>\n <table\n {...(ariaDescribedby ? {'aria-describedby': ariaDescribedby} : {})}\n className={style.table}\n data-testid=\"expandible-actionable-table\"\n data-name=\"expandible-actionable-table\"\n >\n <thead className={isNestedTable ? style.theadNested : style.thead}>\n <tr>{headerView}</tr>\n </thead>\n <tbody>{bodyView}</tbody>\n </table>\n </div>\n );\n};\n\nActionableExpandableTable.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nActionableExpandableTable.propTypes = propTypes;\n\nexport default ActionableExpandableTable;\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { WebContextValues } from '../../atom/provider/web-context';
|
|
3
3
|
import { Props } from './types';
|
|
4
|
-
declare const
|
|
4
|
+
declare const ActionableExpandableTable: {
|
|
5
5
|
(props: Props, legacyContext: WebContextValues): JSX.Element;
|
|
6
6
|
contextTypes: {
|
|
7
7
|
skin: import("prop-types").Requireable<import("prop-types").InferProps<{
|
|
@@ -102,5 +102,5 @@ declare const ActionableExpandableErrorsTable: {
|
|
|
102
102
|
emptyStateSecondMessage: import("prop-types").Requireable<string>;
|
|
103
103
|
};
|
|
104
104
|
};
|
|
105
|
-
export default
|
|
105
|
+
export default ActionableExpandableTable;
|
|
106
106
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/expandible-actionable-table/index.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAOjE,OAAO,EAA2C,KAAK,EAAY,MAAM,SAAS,CAAC;AAqCnF,QAAA,MAAM
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/expandible-actionable-table/index.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAOjE,OAAO,EAA2C,KAAK,EAAY,MAAM,SAAS,CAAC;AAqCnF,QAAA,MAAM,yBAAyB;YAAW,KAAK,iBAAiB,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoL/E,CAAC;AASF,eAAe,yBAAyB,CAAC"}
|
|
@@ -86,11 +86,11 @@ const buildNestedRow = row => {
|
|
|
86
86
|
return /*#__PURE__*/_react.default.createElement(_errorsTable.default, row);
|
|
87
87
|
|
|
88
88
|
case 'expandible-errors-table':
|
|
89
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
89
|
+
return /*#__PURE__*/_react.default.createElement(ActionableExpandableTable, row);
|
|
90
90
|
}
|
|
91
91
|
};
|
|
92
92
|
|
|
93
|
-
const
|
|
93
|
+
const ActionableExpandableTable = (props, legacyContext) => {
|
|
94
94
|
const {
|
|
95
95
|
columns,
|
|
96
96
|
rows = [],
|
|
@@ -221,11 +221,11 @@ const ActionableExpandableErrorsTable = (props, legacyContext) => {
|
|
|
221
221
|
}, /*#__PURE__*/_react.default.createElement("tr", null, headerView)), /*#__PURE__*/_react.default.createElement("tbody", null, bodyView)));
|
|
222
222
|
};
|
|
223
223
|
|
|
224
|
-
|
|
224
|
+
ActionableExpandableTable.contextTypes = {
|
|
225
225
|
skin: _provider.default.childContextTypes.skin,
|
|
226
226
|
translate: _provider.default.childContextTypes.translate
|
|
227
227
|
};
|
|
228
|
-
|
|
229
|
-
var _default =
|
|
228
|
+
ActionableExpandableTable.propTypes = process.env.NODE_ENV !== "production" ? _types.propTypes : {};
|
|
229
|
+
var _default = ActionableExpandableTable;
|
|
230
230
|
exports.default = _default;
|
|
231
231
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["buildField","field","componentType","style","statusItemWrapper","buildLastField","lastField","buildNestedRow","row","ActionableExpandableErrorsTable","props","legacyContext","columns","rows","stickyFirstColumn","stickyLastColumn","ariaDescribedby","columnWidth","isNestedTable","emptyStateFistMessage","emptyStateSecondMessage","translate","GetTranslateFromContext","expandedRows","setExpandedRows","useState","expandState","setExpandState","wrapper","handleExpandRow","index","isRowExpanded","newExpandedRows","filter","id","concat","expandedState","forEach","headerRow","map","column","cIndex","title","classnames","headerFirstSticky","headerFirst","header","push","headerLastSticky","headerLast","headerView","bodyView","fields","isRowExpandible","bodyRow","fIndex","cellContent","columFirstWrapper","expandButtonWrapper","columnFirstSticky","columnFirst","col","width","columnLastSticky","columnLast","inspectButton","nestedRow","nestedRowCellule","includes","length","table","theadNested","thead","contextTypes","skin","Provider","childContextTypes","propTypes"],"sources":["../../../src/molecule/expandible-actionable-table/index.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport classnames from 'classnames';\nimport {get, isString, size, includes, isEmpty} from 'lodash/fp';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport StatusItem from '../../atom/status-item';\nimport BulkProgressBar from '../bulk-progress-bar';\nimport {WebContextValues} from '../../atom/provider/web-context';\nimport Provider, {GetTranslateFromContext} from '../../atom/provider';\nimport BulletPointMenuButton from '../bullet-point-menu-button';\nimport ButtonLink from '../../atom/button-link';\nimport ErrorsTable from '../errors-table';\nimport EmptySearchResult from '../../atom/empty-search-result';\nimport style from './style.css';\nimport {ExpandState, Field, LastField, NestedRow, Props, propTypes} from './types';\n\nconst buildField = (field: Field) => {\n if (isString(field)) return field;\n const {componentType} = field;\n switch (componentType) {\n case 'status':\n return (\n <div className={style.statusItemWrapper}>\n <StatusItem {...field} />\n </div>\n );\n case 'progress-bar':\n return <BulkProgressBar {...field} />;\n }\n};\n\nconst buildLastField = (lastField: LastField) => {\n const {componentType} = lastField;\n switch (componentType) {\n case 'menu':\n return <BulletPointMenuButton {...lastField} />;\n case 'button-link':\n return <ButtonLink {...lastField} />;\n }\n};\n\nconst buildNestedRow = (row: NestedRow) => {\n const {componentType} = row;\n switch (componentType) {\n case 'errors-table':\n return <ErrorsTable {...row} />;\n case 'expandible-errors-table':\n return <ActionableExpandableErrorsTable {...row} />;\n }\n};\n\nconst ActionableExpandableErrorsTable = (props: Props, legacyContext: WebContextValues) => {\n const {\n columns,\n rows = [],\n lastField,\n stickyFirstColumn = false,\n stickyLastColumn = false,\n ariaDescribedby,\n columnWidth = `${100 / size(columns)}%`,\n isNestedTable = false,\n emptyStateFistMessage = '',\n emptyStateSecondMessage = ''\n } = props;\n\n const translate = GetTranslateFromContext(legacyContext);\n\n /**\n * State variable to keep track of all the expanded rows\n * By default, nothing expanded. Hence initialized with empty array.\n */\n const [expandedRows, setExpandedRows] = useState<number[]>([]);\n\n /**\n * State variable to keep track which row is currently expanded.\n */\n const [expandState, setExpandState] = useState<ExpandState>({});\n\n if (isEmpty(columns))\n return (\n <div className={style.wrapper}>\n <EmptySearchResult\n firstMessage={emptyStateFistMessage}\n secondMessage={emptyStateSecondMessage}\n isBulk\n />\n </div>\n );\n\n /**\n * This function gets called when show/hide link is clicked.\n */\n const handleExpandRow = (index: number) => () => {\n const isRowExpanded = includes(index, expandedRows);\n\n /**\n * If the row is expanded, we are here to hide it. Hence remove\n * it from the state variable. Otherwise add to it.\n */\n const newExpandedRows = isRowExpanded\n ? expandedRows.filter(id => id !== index)\n : expandedRows.concat(index);\n\n setExpandedRows(newExpandedRows);\n\n /**\n * Create a new object to update the expanded state of all rows\n * Use the newExpandedRows array to set the state of all rows that are currently expanded\n */\n const expandedState: ExpandState = {};\n newExpandedRows.forEach(id => {\n expandedState[id] = true;\n });\n\n setExpandState(expandedState);\n };\n\n const headerRow = columns.map((column, cIndex) => {\n const {title} = column;\n return (\n <th\n className={\n cIndex === 0\n ? classnames(\n stickyFirstColumn ? style.headerFirstSticky : style.headerFirst,\n style.header\n )\n : style.header\n }\n key={`${title}-${cIndex}`}\n role=\"columnheader\"\n >\n {title}\n </th>\n );\n });\n\n headerRow.push(\n <th\n className={stickyLastColumn ? style.headerLastSticky : style.headerLast}\n key=\"action-header\"\n />\n );\n const headerView = [...headerRow];\n\n const bodyView = rows.map((row, index) => {\n const {fields, isRowExpandible = false} = row;\n const bodyRow = fields.map((field, fIndex) => {\n const cellContent =\n fIndex === 0 ? (\n <div className={style.columFirstWrapper}>\n <div className={style.expandButtonWrapper}>\n {isRowExpandible ? (\n <ButtonLinkIconOnly\n onClick={handleExpandRow(index)}\n data-name={`arrowUp-button-${index}`}\n icon=\"down\"\n className={expandState[index] ? 'bulkArrowUp' : 'bulkArrowDown'}\n aria-label={translate('bulk_import.show_errors')}\n />\n ) : null}\n </div>\n {buildField(field)}\n </div>\n ) : (\n buildField(field)\n );\n return (\n <td\n className={\n fIndex === 0\n ? classnames(\n stickyFirstColumn ? style.columnFirstSticky : style.columnFirst,\n style.col\n )\n : style.col\n }\n style={{width: columnWidth}}\n key={`${field}-${fIndex}`}\n >\n {cellContent}\n </td>\n );\n });\n\n bodyRow.push(\n <td\n className={stickyLastColumn ? style.columnLastSticky : style.columnLast}\n key=\"actionHeader\"\n >\n {lastField ? (\n <div\n className={classnames({\n [style.inspectButton]: get('className', lastField) === 'bulkInspectButton'\n })}\n >\n {buildLastField(lastField)}\n </div>\n ) : null}\n </td>\n );\n const nestedRow = get('nestedRow', row);\n const nestedRowCellule =\n nestedRow && expandedRows.includes(index) ? (\n <tr key={`line-${index}-error`}>\n <td className={style.nestedRowCellule} colSpan={fields.length + 2}>\n {buildNestedRow(nestedRow)}\n </td>\n </tr>\n ) : null;\n\n return nestedRowCellule\n ? [<tr key={`line-${index}`}>{bodyRow}</tr>, nestedRowCellule]\n : [<tr key={`line-${index}`}>{bodyRow}</tr>];\n });\n\n return (\n <div className={style.wrapper}>\n <table\n {...(ariaDescribedby ? {'aria-describedby': ariaDescribedby} : {})}\n className={style.table}\n data-testid=\"expandible-actionable-table\"\n data-name=\"expandible-actionable-table\"\n >\n <thead className={isNestedTable ? style.theadNested : style.thead}>\n <tr>{headerView}</tr>\n </thead>\n <tbody>{bodyView}</tbody>\n </table>\n </div>\n );\n};\n\nActionableExpandableErrorsTable.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nActionableExpandableErrorsTable.propTypes = propTypes;\n\nexport default ActionableExpandableErrorsTable;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["buildField","field","componentType","style","statusItemWrapper","buildLastField","lastField","buildNestedRow","row","ActionableExpandableTable","props","legacyContext","columns","rows","stickyFirstColumn","stickyLastColumn","ariaDescribedby","columnWidth","isNestedTable","emptyStateFistMessage","emptyStateSecondMessage","translate","GetTranslateFromContext","expandedRows","setExpandedRows","useState","expandState","setExpandState","wrapper","handleExpandRow","index","isRowExpanded","newExpandedRows","filter","id","concat","expandedState","forEach","headerRow","map","column","cIndex","title","classnames","headerFirstSticky","headerFirst","header","push","headerLastSticky","headerLast","headerView","bodyView","fields","isRowExpandible","bodyRow","fIndex","cellContent","columFirstWrapper","expandButtonWrapper","columnFirstSticky","columnFirst","col","width","columnLastSticky","columnLast","inspectButton","nestedRow","nestedRowCellule","includes","length","table","theadNested","thead","contextTypes","skin","Provider","childContextTypes","propTypes"],"sources":["../../../src/molecule/expandible-actionable-table/index.tsx"],"sourcesContent":["import React, {useState} from 'react';\nimport classnames from 'classnames';\nimport {get, isString, size, includes, isEmpty} from 'lodash/fp';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport StatusItem from '../../atom/status-item';\nimport BulkProgressBar from '../bulk-progress-bar';\nimport {WebContextValues} from '../../atom/provider/web-context';\nimport Provider, {GetTranslateFromContext} from '../../atom/provider';\nimport BulletPointMenuButton from '../bullet-point-menu-button';\nimport ButtonLink from '../../atom/button-link';\nimport ErrorsTable from '../errors-table';\nimport EmptySearchResult from '../../atom/empty-search-result';\nimport style from './style.css';\nimport {ExpandState, Field, LastField, NestedRow, Props, propTypes} from './types';\n\nconst buildField = (field: Field) => {\n if (isString(field)) return field;\n const {componentType} = field;\n switch (componentType) {\n case 'status':\n return (\n <div className={style.statusItemWrapper}>\n <StatusItem {...field} />\n </div>\n );\n case 'progress-bar':\n return <BulkProgressBar {...field} />;\n }\n};\n\nconst buildLastField = (lastField: LastField) => {\n const {componentType} = lastField;\n switch (componentType) {\n case 'menu':\n return <BulletPointMenuButton {...lastField} />;\n case 'button-link':\n return <ButtonLink {...lastField} />;\n }\n};\n\nconst buildNestedRow = (row: NestedRow) => {\n const {componentType} = row;\n switch (componentType) {\n case 'errors-table':\n return <ErrorsTable {...row} />;\n case 'expandible-errors-table':\n return <ActionableExpandableTable {...row} />;\n }\n};\n\nconst ActionableExpandableTable = (props: Props, legacyContext: WebContextValues) => {\n const {\n columns,\n rows = [],\n lastField,\n stickyFirstColumn = false,\n stickyLastColumn = false,\n ariaDescribedby,\n columnWidth = `${100 / size(columns)}%`,\n isNestedTable = false,\n emptyStateFistMessage = '',\n emptyStateSecondMessage = ''\n } = props;\n\n const translate = GetTranslateFromContext(legacyContext);\n\n /**\n * State variable to keep track of all the expanded rows\n * By default, nothing expanded. Hence initialized with empty array.\n */\n const [expandedRows, setExpandedRows] = useState<number[]>([]);\n\n /**\n * State variable to keep track which row is currently expanded.\n */\n const [expandState, setExpandState] = useState<ExpandState>({});\n\n if (isEmpty(columns))\n return (\n <div className={style.wrapper}>\n <EmptySearchResult\n firstMessage={emptyStateFistMessage}\n secondMessage={emptyStateSecondMessage}\n isBulk\n />\n </div>\n );\n\n /**\n * This function gets called when show/hide link is clicked.\n */\n const handleExpandRow = (index: number) => () => {\n const isRowExpanded = includes(index, expandedRows);\n\n /**\n * If the row is expanded, we are here to hide it. Hence remove\n * it from the state variable. Otherwise add to it.\n */\n const newExpandedRows = isRowExpanded\n ? expandedRows.filter(id => id !== index)\n : expandedRows.concat(index);\n\n setExpandedRows(newExpandedRows);\n\n /**\n * Create a new object to update the expanded state of all rows\n * Use the newExpandedRows array to set the state of all rows that are currently expanded\n */\n const expandedState: ExpandState = {};\n newExpandedRows.forEach(id => {\n expandedState[id] = true;\n });\n\n setExpandState(expandedState);\n };\n\n const headerRow = columns.map((column, cIndex) => {\n const {title} = column;\n return (\n <th\n className={\n cIndex === 0\n ? classnames(\n stickyFirstColumn ? style.headerFirstSticky : style.headerFirst,\n style.header\n )\n : style.header\n }\n key={`${title}-${cIndex}`}\n role=\"columnheader\"\n >\n {title}\n </th>\n );\n });\n\n headerRow.push(\n <th\n className={stickyLastColumn ? style.headerLastSticky : style.headerLast}\n key=\"action-header\"\n />\n );\n const headerView = [...headerRow];\n\n const bodyView = rows.map((row, index) => {\n const {fields, isRowExpandible = false} = row;\n const bodyRow = fields.map((field, fIndex) => {\n const cellContent =\n fIndex === 0 ? (\n <div className={style.columFirstWrapper}>\n <div className={style.expandButtonWrapper}>\n {isRowExpandible ? (\n <ButtonLinkIconOnly\n onClick={handleExpandRow(index)}\n data-name={`arrowUp-button-${index}`}\n icon=\"down\"\n className={expandState[index] ? 'bulkArrowUp' : 'bulkArrowDown'}\n aria-label={translate('bulk_import.show_errors')}\n />\n ) : null}\n </div>\n {buildField(field)}\n </div>\n ) : (\n buildField(field)\n );\n return (\n <td\n className={\n fIndex === 0\n ? classnames(\n stickyFirstColumn ? style.columnFirstSticky : style.columnFirst,\n style.col\n )\n : style.col\n }\n style={{width: columnWidth}}\n key={`${field}-${fIndex}`}\n >\n {cellContent}\n </td>\n );\n });\n\n bodyRow.push(\n <td\n className={stickyLastColumn ? style.columnLastSticky : style.columnLast}\n key=\"actionHeader\"\n >\n {lastField ? (\n <div\n className={classnames({\n [style.inspectButton]: get('className', lastField) === 'bulkInspectButton'\n })}\n >\n {buildLastField(lastField)}\n </div>\n ) : null}\n </td>\n );\n const nestedRow = get('nestedRow', row);\n const nestedRowCellule =\n nestedRow && expandedRows.includes(index) ? (\n <tr key={`line-${index}-error`}>\n <td className={style.nestedRowCellule} colSpan={fields.length + 2}>\n {buildNestedRow(nestedRow)}\n </td>\n </tr>\n ) : null;\n\n return nestedRowCellule\n ? [<tr key={`line-${index}`}>{bodyRow}</tr>, nestedRowCellule]\n : [<tr key={`line-${index}`}>{bodyRow}</tr>];\n });\n\n return (\n <div className={style.wrapper}>\n <table\n {...(ariaDescribedby ? {'aria-describedby': ariaDescribedby} : {})}\n className={style.table}\n data-testid=\"expandible-actionable-table\"\n data-name=\"expandible-actionable-table\"\n >\n <thead className={isNestedTable ? style.theadNested : style.thead}>\n <tr>{headerView}</tr>\n </thead>\n <tbody>{bodyView}</tbody>\n </table>\n </div>\n );\n};\n\nActionableExpandableTable.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nActionableExpandableTable.propTypes = propTypes;\n\nexport default ActionableExpandableTable;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
{
|
|
2
|
+
"accepted_cards": "Luotto- tai pankkikortti",
|
|
3
|
+
"An Error Occurred": "Tapahtui virhe",
|
|
4
|
+
"Answer": "Vastaus",
|
|
5
|
+
"At the end of this level, you will be able to_": "Tämän tason päätteeksi pystyt:",
|
|
6
|
+
"author": "tekijä",
|
|
7
|
+
"Back to Dashboard Home": "Takaisin koontinäytön kotisivulle",
|
|
8
|
+
"back_to_catalog": "Takaisin kursseihin",
|
|
9
|
+
"cart_title": "Coorpacademyn tilaus",
|
|
10
|
+
"challenges you on": "haastaa sinut",
|
|
11
|
+
"is challenging you": "{{username}} haastaa sinut {{courseName}}",
|
|
12
|
+
"chapters": "kappaleet",
|
|
13
|
+
"Close": "Sulje",
|
|
14
|
+
"clue_stars_to_loose_plural": "Jos avaat tämän vihjeen, voitat tästä kysymyksestä {{count}} tähteä vähemmän (jos saat sen oikein)",
|
|
15
|
+
"clue_stars_to_loose": "Jos avaat tämän vihjeen, voitat tästä kysymyksestä {{count}} tähteä vähemmän (jos saat sen oikein)",
|
|
16
|
+
"confirm_unsubscribe": "Haluatko varmasti peruuttaa tilauksen?",
|
|
17
|
+
"cookies_details": "Tämä verkkosivusto käyttää evästeitä, jotta voisimme tarjota sinulle parhaan mahdollisen oppimiskokemuksen. Jos haluat tietää enemmän käyttämistämme evästeistä ja siitä, miten käytämme tietojasi, lue",
|
|
18
|
+
"cookies_policy": "Tietosuoja- ja evästekäytäntö.",
|
|
19
|
+
"cookies_title": "Miten käytämme evästeitä:",
|
|
20
|
+
"Create a new cohort": "Luo uusi kohortti",
|
|
21
|
+
"Delete": "Poista",
|
|
22
|
+
"Draft": "Luonnos",
|
|
23
|
+
"answer_the_question": "Vastaa kysymykseen",
|
|
24
|
+
"Edit": "Muokkaa",
|
|
25
|
+
"external_content_article": "ASIAKIRJAT",
|
|
26
|
+
"external_content_scorm": "ANIMOIDUT RESURSSIT",
|
|
27
|
+
"external_content_video": "VIDEOT",
|
|
28
|
+
"external_content_podcast": "PODCASTIT",
|
|
29
|
+
"keep_subscription": "Jatka tilaustani",
|
|
30
|
+
"media_stars_to_win_plural": "Voita {{count}} ylimääräistä tähteä tässä kappaleessa, kun katsot oppitunnin ensimmäisen kerran!",
|
|
31
|
+
"media_stars_to_win": "Voita {{count}} ylimääräinen tähti tässä kappaleessa, kun katsot oppitunnin ensimmäisen kerran!",
|
|
32
|
+
"More": "Enemmän",
|
|
33
|
+
"More details": "Lisää tietoja",
|
|
34
|
+
"New media": "Uusi oppitunti",
|
|
35
|
+
"No Selected Dashboard": "Ei valittua koontinäyttöä",
|
|
36
|
+
"No status": "Ei tilaa",
|
|
37
|
+
"Ok": "OK",
|
|
38
|
+
"Open": "Avaa",
|
|
39
|
+
"payment_form_submit": "Aloita Coorpacademyn tilaus",
|
|
40
|
+
"Post": "Julkaise",
|
|
41
|
+
"premium_unsubscribe_confirmation": "Vahvistamme tilauksesi peruuttamisen, joka astuu voimaan seuraavan kuun alussa.\n\nVoit sillä välin jatkaa sisältösi käyttämistä Coorpacademyn alustalla.",
|
|
42
|
+
"Press the escape key to close the information text": "Sulje tietoteksti painamalla ESC-näppäintä",
|
|
43
|
+
"product_cancel": "Peruuta koska tahansa.",
|
|
44
|
+
"product_desc_battle": "Taistelutila",
|
|
45
|
+
"product_desc_certificates": "Coorpacademyn todistukset",
|
|
46
|
+
"product_desc_coach": "Verkkovalmentajat",
|
|
47
|
+
"product_desc_culture": "Digitaalinen kulttuuri: kaikki tasot suoritettu",
|
|
48
|
+
"product_desc_forum": "Keskustelupalsta",
|
|
49
|
+
"product_desc_partnership": "Kaikki kumppaneidemme koulutuskurssit",
|
|
50
|
+
"Put back": "Pane takaisin",
|
|
51
|
+
"Reject": "Hylkää",
|
|
52
|
+
"Reload": "Lataa uudelleen",
|
|
53
|
+
"Review lesson": "Katso oppitunti uudelleen",
|
|
54
|
+
"secured_payment": "Turvallinen palvelin",
|
|
55
|
+
"See clue": "Näytä vihje",
|
|
56
|
+
"See less": "Näytä vähemmän",
|
|
57
|
+
"See lesson": "Näytä oppitunti",
|
|
58
|
+
"Select a dashboard in the Sidebar": "Valitse koontinäyttö sivupalkista",
|
|
59
|
+
"Show more": "Näytä enemmän",
|
|
60
|
+
"Show": "Aloita taistelu",
|
|
61
|
+
"Start battle": "Aloita taistelu",
|
|
62
|
+
"subscription_disclaimer": "Suostut saamaan CooCoorpacademy Premium ”à la carten” heti käyttöösi. Samalla hyväksyt sen, että sinua veloitetaan tapahtumapäivästä kuun loppuun asti ensimmäistä laskua varten. Sen jälkeen sinua laskutetaan jokaisen kuukauden ensimmäisenä päivänä.",
|
|
63
|
+
"subscription_freemium_button": "Käynnistä Coorpacademy Premium",
|
|
64
|
+
"subscription_freemium_description": "Käytät tällä hetkellä Coorpacademy Freemiumia. Tarjoamme myös paljon paremman palvelun nimeltä Coorpacademy Premium. Pääset tämän palvelun avulla käyttämään kaikkia kursseja ja kaikkia tasoja. Kiinnostaisiko?",
|
|
65
|
+
"subscription_freemium_title": "Coorpacademy Freemium",
|
|
66
|
+
"subscription_premium_description_part1": "Tilauksesi uudistetaan automaattisesti",
|
|
67
|
+
"subscription_premium_description_part2": ". Sinulta veloitetaan",
|
|
68
|
+
"subscription_premium_description_part3_with_link": "peruuttaa tilauksesi?",
|
|
69
|
+
"subscription_premium_description_part3": "Haluatko",
|
|
70
|
+
"subscription_premium_title": "Coorpacademy Premium",
|
|
71
|
+
"subscription_price": "${price} ${currency} kuukaudessa sisältäen verot",
|
|
72
|
+
"subscription_promo_code": "Sinulla on nyt luettelomme ilmainen ja rajoittamaton käyttöoikeus {{date}} asti. Jos haluat jatkaa sen käyttämistä kyseisen päivän jälkeen, tilaa",
|
|
73
|
+
"This message has been removed by its author": "Tekijä on poistanut tämän viestin.",
|
|
74
|
+
"unsubscribe": "Peruuta Coorpacademyn tilaus",
|
|
75
|
+
"Validated": "Vahvistettu",
|
|
76
|
+
"Video Loading Error": "Videota ladattaessa tapahtui virhe. Yritä uudelleen.",
|
|
77
|
+
"Wait_creation": "Alustaa luodaan. Tässä voi kestää useita sekunteja. Odota...",
|
|
78
|
+
"comment_aria_label": "Lisää kommenttisi",
|
|
79
|
+
"zuora_discount_code_submit": "Käytä",
|
|
80
|
+
"zuora_discount_code": "Kampanjakoodi",
|
|
81
|
+
"mandatory_fields": "*Pakolliset kentät",
|
|
82
|
+
"something_went_wrong": "Voi nakki! Jotakin meni pieleen.",
|
|
83
|
+
"review_header_step_item": {
|
|
84
|
+
"correct_question": "{{current}} kysymys {{headerStepValue}} on oikein",
|
|
85
|
+
"incorrect_question": "{{current}} kysymys {{headerStepValue}} on väärin",
|
|
86
|
+
"not_answered_question": "{{current}} kysymys {{headerStepValue}} on vielä vastaamatta"
|
|
87
|
+
},
|
|
88
|
+
"bulk_import": {
|
|
89
|
+
"errors_number": "massatuonnin virheiden lukumäärä on {{bulkImportErrorsNumber}}",
|
|
90
|
+
"valid_scorm": "Scorm-tiedosto on käypä",
|
|
91
|
+
"invalid_scorm": "Scorm-tiedosto ei ole käypä",
|
|
92
|
+
"show_errors": "näytä virheet"
|
|
93
|
+
},
|
|
94
|
+
"close_button_ariaLabel": "Sulje tarkastusdia",
|
|
95
|
+
"post_comment_aria_label": "Julkaise kommenttisi",
|
|
96
|
+
"validate_aria_label": "Vahvista vastauksesi ja siirry seuraavaan vaiheeseen",
|
|
97
|
+
"stars": "tähdet"
|
|
98
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
{
|
|
2
|
+
"accepted_cards": "Kredit- eller betalkort",
|
|
3
|
+
"An Error Occurred": "Ett fel uppstod",
|
|
4
|
+
"Answer": "Svara",
|
|
5
|
+
"At the end of this level, you will be able to_": "I slutet av denna nivå kommer du att kunna:",
|
|
6
|
+
"author": "upphovsperson",
|
|
7
|
+
"Back to Dashboard Home": "Tillbaka till kontrollpanelens startsida",
|
|
8
|
+
"back_to_catalog": "Tillbaka till kurser",
|
|
9
|
+
"cart_title": "Prenumeration på Coorpacademy",
|
|
10
|
+
"challenges you on": "utmanar dig i",
|
|
11
|
+
"is challenging you": "{{username}} utmanar dig {{courseName}}",
|
|
12
|
+
"chapters": "kapitel",
|
|
13
|
+
"Close": "Stäng",
|
|
14
|
+
"clue_stars_to_loose_plural": "Att låsa upp ledtråden minskar antalet stjärnor du kan vinna på den här frågan med {{count}} (om du svarar rätt)",
|
|
15
|
+
"clue_stars_to_loose": "Att låsa upp ledtråden minskar antalet stjärnor du kan vinna på den här frågan med {{count}} (om du svarar rätt)",
|
|
16
|
+
"confirm_unsubscribe": "Är du säker på att du vill avregistrera dig?",
|
|
17
|
+
"cookies_details": "Den här webbplatsen använder cookies för att vi ska kunna ge dig bästa möjliga inlärningsupplevelse. För mer information om de cookies vi använder och om hur vi använder dina uppgifter, läs vår",
|
|
18
|
+
"cookies_policy": "Riktlinje för integritet och cookies.",
|
|
19
|
+
"cookies_title": "Hur vi använder cookies:",
|
|
20
|
+
"Create a new cohort": "Skapa en ny årskull",
|
|
21
|
+
"Delete": "Radera",
|
|
22
|
+
"Draft": "Utkast",
|
|
23
|
+
"answer_the_question": "Besvara frågan",
|
|
24
|
+
"Edit": "Redigera",
|
|
25
|
+
"external_content_article": "DOKUMENT",
|
|
26
|
+
"external_content_scorm": "ANIMERADE RESURSER",
|
|
27
|
+
"external_content_video": "VIDEOR",
|
|
28
|
+
"external_content_podcast": "PODDAR",
|
|
29
|
+
"keep_subscription": "Behåll min prenumeration",
|
|
30
|
+
"media_stars_to_win_plural": "Vinn {{count}} stjärnor till i det här kapitlet första gången du tittar på en lektion!",
|
|
31
|
+
"media_stars_to_win": "Vinn {{count}} stjärna till i det här kapitlet första gången du tittar på en lektion!",
|
|
32
|
+
"More": "Mer",
|
|
33
|
+
"More details": "Fler uppgifter",
|
|
34
|
+
"New media": "Ny lektion",
|
|
35
|
+
"No Selected Dashboard": "Ingen kontrollpanel är vald",
|
|
36
|
+
"No status": "Ingen status",
|
|
37
|
+
"Ok": "Ok",
|
|
38
|
+
"Open": "Öppna",
|
|
39
|
+
"payment_form_submit": "Starta prenumeration på Coorpacademy",
|
|
40
|
+
"Post": "Publicera",
|
|
41
|
+
"premium_unsubscribe_confirmation": "Vi bekräftar uppsägningen av din prenumeration som kommer att träda i kraft från och med nästa månad.\n\nUnder tiden kan du fortsätta att ta del av vårt innehåll på Coorpacademys plattform.",
|
|
42
|
+
"Press the escape key to close the information text": "Tyck på Esc-tangenten för att stänga informationstexten",
|
|
43
|
+
"product_cancel": "Avbryt när som helst.",
|
|
44
|
+
"product_desc_battle": "Tävlingsläge",
|
|
45
|
+
"product_desc_certificates": "Coorpacademy-certifikat",
|
|
46
|
+
"product_desc_coach": "Online-coacher",
|
|
47
|
+
"product_desc_culture": "Digital kultur: Alla nivåer slutförda",
|
|
48
|
+
"product_desc_forum": "Forum",
|
|
49
|
+
"product_desc_partnership": "Alla utbildningar från våra partners",
|
|
50
|
+
"Put back": "Lägg tillbaka",
|
|
51
|
+
"Reject": "Förkasta",
|
|
52
|
+
"Reload": "Ladda om",
|
|
53
|
+
"Review lesson": "Granska lektion",
|
|
54
|
+
"secured_payment": "Säker server",
|
|
55
|
+
"See clue": "Se ledtråd",
|
|
56
|
+
"See less": "Visa mindre",
|
|
57
|
+
"See lesson": "Se lektion",
|
|
58
|
+
"Select a dashboard in the Sidebar": "Välj en kontrollpanel i sidofältet",
|
|
59
|
+
"Show more": "Visa mer",
|
|
60
|
+
"Show": "Visa",
|
|
61
|
+
"Start battle": "Starta tävling",
|
|
62
|
+
"subscription_disclaimer": "Du samtycker till att omedelbart få tillgång till Coorpacademy Premium \"à la carte\". Du samtycker också till att debiteras från transaktionsdatumet till slutet av månaden i den första fakturan. Därefter debiteras du den första dagen i varje månad.",
|
|
63
|
+
"subscription_freemium_button": "Starta Coorpacademy Premium",
|
|
64
|
+
"subscription_freemium_description": "Du använder för närvarande Coorpacademy Freemium. Vi erbjuder även en mycket bättre tjänst, Coorpacademy Premium, där du får tillgång till alla kurser och samtliga nivåer. Intresserad?",
|
|
65
|
+
"subscription_freemium_title": "Coorpacademy Freemium",
|
|
66
|
+
"subscription_premium_description_part1": "Din prenumeration förnyas automatiskt",
|
|
67
|
+
"subscription_premium_description_part2": ". Du kommer att debiteras ett belopp på",
|
|
68
|
+
"subscription_premium_description_part3_with_link": "avsluta din prenumeration?",
|
|
69
|
+
"subscription_premium_description_part3": "Vill du",
|
|
70
|
+
"subscription_premium_title": "Coorpacademy Premium",
|
|
71
|
+
"subscription_price": "${currency}${price} inkl. skatt per månad",
|
|
72
|
+
"subscription_promo_code": "Du har nu gratis obegränsad tillgång till vår katalog fram till den {{date}}. För att fortsätta använda den efter det här datumet, vänligen prenumerera på ",
|
|
73
|
+
"This message has been removed by its author": "Meddelandet har tagits bort av upphovspersonen.",
|
|
74
|
+
"unsubscribe": "Avregistrera dig från Coorpacademy",
|
|
75
|
+
"Validated": "Validerad",
|
|
76
|
+
"Video Loading Error": "Ett fel uppstod när videon skulle läsas in, vänligen försök igen.",
|
|
77
|
+
"Wait_creation": "Plattformen skapas. Det här kan ta flera sekunder. Vänligen vänta...",
|
|
78
|
+
"comment_aria_label": "Lägg in en kommentar",
|
|
79
|
+
"zuora_discount_code_submit": "Tillämpa",
|
|
80
|
+
"zuora_discount_code": "Kampanjkod",
|
|
81
|
+
"mandatory_fields": "*Obligatoriska fält",
|
|
82
|
+
"something_went_wrong": "Oj då! Någonting gick fel.",
|
|
83
|
+
"review_header_step_item": {
|
|
84
|
+
"correct_question": "{{current}}frågan {{headerStepValue}} är korrekt",
|
|
85
|
+
"incorrect_question": "{{current}}frågan {{headerStepValue}} är ej korrekt",
|
|
86
|
+
"not_answered_question": "{{current}}frågan {{headerStepValue}} är inte besvarad än"
|
|
87
|
+
},
|
|
88
|
+
"bulk_import": {
|
|
89
|
+
"errors_number": "bulkimportfelets nummer är {{bulkImportErrorsNumber}}",
|
|
90
|
+
"valid_scorm": "scorm-filen är giltig",
|
|
91
|
+
"invalid_scorm": "scorm-filen är ogiltig",
|
|
92
|
+
"show_errors": "visa fel"
|
|
93
|
+
},
|
|
94
|
+
"close_button_ariaLabel": "Stäng granskningsbilden",
|
|
95
|
+
"post_comment_aria_label": "Posta din kommentar",
|
|
96
|
+
"validate_aria_label": "Validera ditt svar och gå till nästa steg",
|
|
97
|
+
"stars": "stjärnor"
|
|
98
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coorpacademy/components",
|
|
3
|
-
"version": "11.24.
|
|
3
|
+
"version": "11.24.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -168,5 +168,5 @@
|
|
|
168
168
|
"last 2 versions",
|
|
169
169
|
"IE 11"
|
|
170
170
|
],
|
|
171
|
-
"gitHead": "
|
|
171
|
+
"gitHead": "f38adf1e6ee376f1e8c9e6b11ccc8184c93d24c7"
|
|
172
172
|
}
|