Skip to content

Commit

Permalink
feat(core/reports): add filter widget
Browse files Browse the repository at this point in the history
  • Loading branch information
peppedeka committed Feb 7, 2022
1 parent 23e6811 commit eea3db2
Show file tree
Hide file tree
Showing 53 changed files with 2,104 additions and 365 deletions.
4 changes: 2 additions & 2 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,8 @@
/src/dev-app/mat-image/** @peppedeka
/src/dev-app/mat-node-icon/** @peppedeka
/src/dev-app/mat-page-slider/** @peppedeka
/src/dev-app/mat-report-from-form/** @peppedeka
/src/dev-app/mat-report-from-xls/** @peppedeka
/src/dev-app/mat-automatic-report/** @peppedeka
/src/dev-app/mat-xls-report/** @peppedeka
/src/dev-app/mat-reports/** @peppedeka
/src/dev-app/mat-time/** @peppedeka
/src/dev-app/mat-widgets/** @peppedeka
Expand Down
18 changes: 10 additions & 8 deletions src/core/forms/random-ajf-context-generator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ import {AjfContainerNode} from './interface/nodes/container-node';
import {AjfNode} from './interface/nodes/node';
import {AjfFormSerializer} from './serializers/form-serializer';
import {AjfFormCreate} from './utils/forms/create-form';
import {isContainerNode} from './utils/nodes/is-container-node';
import {isField} from './utils/nodes/is-field';
import {isRepeatingSlide} from './utils/nodes/is-repeating-slide';

function generateRandomInstanceFields(fields: AjfField[]): AjfField[] {
const fieldReps: AjfField[] = [];
Expand All @@ -44,15 +44,17 @@ function generateRandomInstanceFields(fields: AjfField[]): AjfField[] {
});
return fieldReps;
}
function flattenFields(nodes: AjfNode[]): AjfField[] {

function flattenFields(slides: AjfNode[]): AjfField[] {
let flatFields: AjfField[] = [];
nodes.forEach((node: AjfNode) => {
if (isField(node)) {
flatFields.push(node as AjfField);
}
if (isContainerNode(node)) {
const childs = generateRandomInstanceFields((node as AjfContainerNode).nodes as AjfField[]);
slides.forEach((slide: AjfNode) => {
if (isField(slide)) {
flatFields.push(slide as AjfField);
} else if (isRepeatingSlide(slide)) {
const childs = generateRandomInstanceFields((slide as AjfContainerNode).nodes as AjfField[]);
flatFields = flatFields.concat(flattenFields(childs));
} else {
flatFields = flatFields.concat([...((slide as AjfContainerNode).nodes as AjfField[])]);
}
});
return flatFields;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
*/

import {AjfContext} from '@ajf/core/models';
import {deepCopy} from '@ajf/core/utils';

import {AjfTableFieldInstance} from '../../interface/fields-instances/table-field-instance';
import {AjfTableCell, AjfTableField} from '../../interface/fields/table-field';
Expand Down Expand Up @@ -53,6 +54,7 @@ export function createTableFieldInstance(
instance: AjfTableFieldInstanceCreate,
context: AjfContext,
): AjfTableFieldInstance {
instance = deepCopy(instance);
normalizeRows(instance.node as AjfTableField);
const fieldInstance = createFieldInstance(instance, context);
return {
Expand Down

0 comments on commit eea3db2

Please sign in to comment.