@autoviews/core
Advanced tools
Comparing version 4.0.3 to 4.0.4
@@ -6,2 +6,3 @@ "use strict"; | ||
const utils_1 = require("../utils"); | ||
const models_1 = require("../models"); | ||
const utils_2 = require("./utils"); | ||
@@ -36,3 +37,3 @@ const ensureObjectData = (data) => { | ||
const rules = { | ||
order, | ||
order: (0, models_1.flatUnique)(order), | ||
pick: props.pick, | ||
@@ -39,0 +40,0 @@ omit: (_c = props.omit) !== null && _c !== void 0 ? _c : hidden |
@@ -20,2 +20,3 @@ "use strict"; | ||
const utils_1 = require("../utils"); | ||
const models_1 = require("../models"); | ||
const auto_view_1 = require("./auto-view"); | ||
@@ -27,3 +28,3 @@ const utils_2 = require("./utils"); | ||
const fields = (0, utils_1.filterAndOrderFields)((0, utils_1.allFields)({ type: 'object', properties, additionalProperties }, additionalProperties ? data : {}), // if schema has additionalProperties, take fields from `data` | ||
pick, omit !== null && omit !== void 0 ? omit : hidden, order); | ||
pick, omit !== null && omit !== void 0 ? omit : hidden, (0, models_1.flatUnique)(order)); | ||
return fields.map(field => (Object.assign({ field }, getAutoFieldProps(field, autoViewProps)))); | ||
@@ -30,0 +31,0 @@ } |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getComponentOptions = exports.getHints = void 0; | ||
exports.orderToTemplateAreas = exports.getComponentOptions = exports.getHints = void 0; | ||
const models_1 = require("../models"); | ||
@@ -22,2 +22,26 @@ const UISchema_1 = require("../models/UISchema"); | ||
exports.getComponentOptions = getComponentOptions; | ||
const stringifyRow = (arr) => `"${arr.join(' ')}"` + '\n'; | ||
function orderToTemplateAreas(order) { | ||
if (!order) | ||
return ''; | ||
if ((0, UISchema_1.isOrderFlat)(order)) { | ||
return order.map(field => [`"${field}"`]).join('\n'); | ||
} | ||
const columnsCount = Math.max(...order.map(row => (typeof row === 'string' ? 1 : row.length))); | ||
const result = order.reduce((acc, r) => { | ||
if (typeof r === 'string') { | ||
return acc + stringifyRow(new Array(columnsCount).fill(r)); | ||
} | ||
const row = [...r]; | ||
if (row.length < columnsCount) { | ||
const originalRowLength = row.length; | ||
row.length = columnsCount; | ||
row.fill('.', originalRowLength); | ||
} | ||
return acc + stringifyRow(row); | ||
}, ''); | ||
// .slice removes last '\n' | ||
return result.slice(0, -1); | ||
} | ||
exports.orderToTemplateAreas = orderToTemplateAreas; | ||
//# sourceMappingURL=utils.js.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.getDefaultHints = exports.createUISchema = exports.extractItemUISchema = exports.getPropertiesByGroupName = exports.getGroupTitleByName = void 0; | ||
exports.flatUnique = exports.isOrderFlat = exports.getDefaultHints = exports.createUISchema = exports.extractItemUISchema = exports.getPropertiesByGroupName = exports.getGroupTitleByName = void 0; | ||
const UISchema_1 = require("./UISchema"); | ||
@@ -72,2 +72,14 @@ function getGroupTitleByName(name, groups) { | ||
exports.getDefaultHints = getDefaultHints; | ||
function isOrderFlat(order) { | ||
if (!order) | ||
return false; | ||
return order.every(item => typeof item === 'string'); | ||
} | ||
exports.isOrderFlat = isOrderFlat; | ||
function flatUnique(order) { | ||
if (!order) | ||
return []; | ||
return [...new Set(order.flat())]; | ||
} | ||
exports.flatUnique = flatUnique; | ||
//# sourceMappingURL=utils.js.map |
import { get } from 'json-pointer'; | ||
import { objectSchemaAsArray, objectSchemaAsArrayMapFn } from '../utils'; | ||
import { flatUnique } from '../models'; | ||
import { getHints } from './utils'; | ||
@@ -32,3 +33,3 @@ const ensureObjectData = (data) => { | ||
const rules = { | ||
order, | ||
order: flatUnique(order), | ||
pick: props.pick, | ||
@@ -35,0 +36,0 @@ omit: (_c = props.omit) !== null && _c !== void 0 ? _c : hidden |
@@ -14,2 +14,3 @@ var __rest = (this && this.__rest) || function (s, e) { | ||
import { allFields, buildJsonPointer, filterAndOrderFields } from '../utils'; | ||
import { flatUnique } from '../models'; | ||
import { AutoView } from './auto-view'; | ||
@@ -21,3 +22,3 @@ import { getHints } from './utils'; | ||
const fields = filterAndOrderFields(allFields({ type: 'object', properties, additionalProperties }, additionalProperties ? data : {}), // if schema has additionalProperties, take fields from `data` | ||
pick, omit !== null && omit !== void 0 ? omit : hidden, order); | ||
pick, omit !== null && omit !== void 0 ? omit : hidden, flatUnique(order)); | ||
return fields.map(field => (Object.assign({ field }, getAutoFieldProps(field, autoViewProps)))); | ||
@@ -24,0 +25,0 @@ } |
import { getDefaultHints } from '../models'; | ||
import { createUISchemaAccessor } from '../models/UISchema'; | ||
import { createUISchemaAccessor, isOrderFlat } from '../models/UISchema'; | ||
export function getHints(uiSchema, pointer = '') { | ||
@@ -17,2 +17,25 @@ if (!uiSchema) { | ||
} | ||
const stringifyRow = (arr) => `"${arr.join(' ')}"` + '\n'; | ||
export function orderToTemplateAreas(order) { | ||
if (!order) | ||
return ''; | ||
if (isOrderFlat(order)) { | ||
return order.map(field => [`"${field}"`]).join('\n'); | ||
} | ||
const columnsCount = Math.max(...order.map(row => (typeof row === 'string' ? 1 : row.length))); | ||
const result = order.reduce((acc, r) => { | ||
if (typeof r === 'string') { | ||
return acc + stringifyRow(new Array(columnsCount).fill(r)); | ||
} | ||
const row = [...r]; | ||
if (row.length < columnsCount) { | ||
const originalRowLength = row.length; | ||
row.length = columnsCount; | ||
row.fill('.', originalRowLength); | ||
} | ||
return acc + stringifyRow(row); | ||
}, ''); | ||
// .slice removes last '\n' | ||
return result.slice(0, -1); | ||
} | ||
//# sourceMappingURL=utils.js.map |
@@ -64,2 +64,12 @@ import { OTHER_PROPERTIES, UNGROUPED } from './UISchema'; | ||
} | ||
export function isOrderFlat(order) { | ||
if (!order) | ||
return false; | ||
return order.every(item => typeof item === 'string'); | ||
} | ||
export function flatUnique(order) { | ||
if (!order) | ||
return []; | ||
return [...new Set(order.flat())]; | ||
} | ||
//# sourceMappingURL=utils.js.map |
@@ -6,3 +6,3 @@ import { Operation } from 'fast-json-patch'; | ||
import { RenderErrorInfo } from './error-boundary'; | ||
export declare type AutoEventHandler<TEvent extends AutoEvent = AutoEvent> = (e: any, autoEvent: TEvent) => void; | ||
export type AutoEventHandler<TEvent extends AutoEvent = AutoEvent> = (e: any, autoEvent: TEvent) => void; | ||
export interface AutoEvent { | ||
@@ -9,0 +9,0 @@ schemaPointer: string; |
@@ -11,3 +11,3 @@ import React from 'react'; | ||
export declare const AutoFields: React.FunctionComponent<AutoFieldsProps>; | ||
export declare type AutoItemsProps = { | ||
export type AutoItemsProps = { | ||
render?(item: React.ReactNode, props: AutoViewProps, index: number): React.ReactNode; | ||
@@ -14,0 +14,0 @@ } & AutoViewProps; |
@@ -5,1 +5,2 @@ import { ComponentOptions, UIHints, UISchema } from '../models'; | ||
export declare function getComponentOptions(uiSchema: UISchema, repo?: RepoName, pointer?: string): ComponentOptions['options'] | undefined; | ||
export declare function orderToTemplateAreas(order: UIHints['order']): string; |
import { AutoViewProps } from './auto-view'; | ||
export declare type ValueGetter<T = any> = (e: T) => any; | ||
export type ValueGetter<T = any> = (e: T) => any; | ||
export declare function changeEventHandler<T>({ onChange, schemaPointer, pointer }: Partial<AutoViewProps>, getValue: ValueGetter<T>): (e: T) => void; | ||
@@ -4,0 +4,0 @@ export declare function addItemEventHandler<T>(props: Partial<AutoViewProps>, getValue: ValueGetter<T>): (e: T) => void; |
@@ -1,6 +0,6 @@ | ||
export declare type NonNegativeInteger = number; | ||
export declare type NonNegativeIntegerDefault0 = NonNegativeInteger; | ||
export declare type SchemaArray = CoreSchemaMetaSchema[]; | ||
export declare type StringArray = string[]; | ||
export declare type SimpleTypes = 'array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string'; | ||
export type NonNegativeInteger = number; | ||
export type NonNegativeIntegerDefault0 = NonNegativeInteger; | ||
export type SchemaArray = CoreSchemaMetaSchema[]; | ||
export type StringArray = string[]; | ||
export type SimpleTypes = 'array' | 'boolean' | 'integer' | 'null' | 'number' | 'object' | 'string'; | ||
export interface CoreSchemaMetaSchema { | ||
@@ -7,0 +7,0 @@ $id?: string; |
@@ -1,2 +0,2 @@ | ||
import { ComponentOptions, UIGroup, UISchema } from '../UISchema'; | ||
import { ComponentOptions, Order, UIGroup, UISchema } from '../UISchema'; | ||
import { BaseAccessor, BaseAccessorInterface } from './base-accessor'; | ||
@@ -19,4 +19,4 @@ import { ACCESSOR_TYPES } from './common'; | ||
isPropertyInGroup(groupName: string, prop: string): boolean; | ||
setOrder(iterator: (order: string[]) => string[]): this; | ||
getOrder(): string[] | undefined; | ||
setOrder(iterator: (order: Order) => Order): this; | ||
getOrder(): Order | undefined; | ||
addPropertyToOrder(propertyName: string, position?: number): this; | ||
@@ -55,4 +55,4 @@ removePropertyFromOrder(propertyName: string): this; | ||
isPropertyInGroup(groupName: string, property: string): boolean; | ||
setOrder(iterator: (order: string[]) => string[]): this; | ||
getOrder(): string[] | undefined; | ||
setOrder(iterator: (order: Order) => Order): this; | ||
getOrder(): Order | undefined; | ||
clearOrder(): this; | ||
@@ -59,0 +59,0 @@ addPropertyToOrder(propertyName: string, targetIndex?: number): this; |
import { UISchema } from '../..'; | ||
import { ACCESSOR_TYPES, ArrayAccessor, BooleanAccessor, DefaultAccessor, NumberAccessor, ObjectAccessor, StringAccessor } from './accessors'; | ||
export declare type UISchemaAccessor = DefaultAccessor | BooleanAccessor | NumberAccessor | StringAccessor | ArrayAccessor | ObjectAccessor; | ||
export type UISchemaAccessor = DefaultAccessor | BooleanAccessor | NumberAccessor | StringAccessor | ArrayAccessor | ObjectAccessor; | ||
export declare function createUISchemaAccessor(uiSchema: UISchema, path: string, type?: ACCESSOR_TYPES.default): DefaultAccessor; | ||
@@ -5,0 +5,0 @@ export declare function createUISchemaAccessor(uiSchema: UISchema, path: string, type: ACCESSOR_TYPES.boolean): BooleanAccessor; |
import { JSONPointer } from '../../repository'; | ||
export declare const OTHER_PROPERTIES = "OTHER_PROPERTIES"; | ||
export declare const UNGROUPED = "UNGROUPED"; | ||
export declare type AccessorType = 'default' | 'boolean' | 'number' | 'string' | 'array' | 'object'; | ||
export type AccessorType = 'default' | 'boolean' | 'number' | 'string' | 'array' | 'object'; | ||
export type Order = Array<string | string[]>; | ||
export interface UIHints { | ||
order?: string[]; | ||
order?: Order; | ||
hidden?: string[]; | ||
@@ -8,0 +9,0 @@ uiGroups?: UIGroup[]; |
@@ -7,1 +7,3 @@ import { RepoPointersCollection, UIGroup, UIHints, UIHintsOverrides, UISchema } from './UISchema'; | ||
export declare function getDefaultHints(): UIHints; | ||
export declare function isOrderFlat(order: UIHints['order']): order is string[]; | ||
export declare function flatUnique(order: UIHints['order']): string[]; |
import React from 'react'; | ||
import { AutoViewProps } from '../auto-view'; | ||
import { CoreSchemaMetaSchema } from '../models'; | ||
export declare type JSONPointer = string; | ||
export declare type RepoName = string; | ||
export type JSONPointer = string; | ||
export type RepoName = string; | ||
export interface ComponentsRepoCollection { | ||
@@ -12,3 +12,3 @@ [repoName: string]: ComponentsRepo; | ||
} | ||
export declare type Predicate = (node: CoreSchemaMetaSchema, props?: AutoViewProps, ...rest: any[]) => boolean; | ||
export type Predicate = (node: CoreSchemaMetaSchema, props?: AutoViewProps, ...rest: any[]) => boolean; | ||
export interface IncludeExcludeRules { | ||
@@ -18,4 +18,4 @@ include?: string[]; | ||
} | ||
export declare type WrapperFunction = (item: JSX.Element, props: AutoViewProps) => JSX.Element; | ||
export declare type GetNode = (node: CoreSchemaMetaSchema) => string; | ||
export type WrapperFunction = (item: JSX.Element, props: AutoViewProps) => JSX.Element; | ||
export type GetNode = (node: CoreSchemaMetaSchema) => string; | ||
export interface ComponentRepoRecord<P> { | ||
@@ -26,3 +26,3 @@ name: string; | ||
} | ||
export declare type ReplaceComponentRepoRecordFn = (record: ComponentRepoRecord<AutoViewProps>) => ComponentRepoRecord<AutoViewProps>; | ||
export type ReplaceComponentRepoRecordFn = (record: ComponentRepoRecord<AutoViewProps>) => ComponentRepoRecord<AutoViewProps>; | ||
export declare class ComponentsRepo { | ||
@@ -29,0 +29,0 @@ name: string; |
import { CoreSchemaMetaSchema } from '../models'; | ||
export declare type SchemaResolver = (id: string) => Promise<CoreSchemaMetaSchema>; | ||
export type SchemaResolver = (id: string) => Promise<CoreSchemaMetaSchema>; | ||
export declare function jsonSchemaResolver(jsonSchema: CoreSchemaMetaSchema, resolver?: SchemaResolver, parentIds?: string[]): Promise<CoreSchemaMetaSchema>; | ||
export declare function fetchByUri(uri: string): Promise<CoreSchemaMetaSchema>; |
import { CoreSchemaMetaSchema } from '../models'; | ||
export declare type ObjectSchemaAsArrayRules = { | ||
export type ObjectSchemaAsArrayRules = { | ||
pick?: string[]; | ||
@@ -7,3 +7,3 @@ omit?: string[]; | ||
}; | ||
export declare type ObjectSchemaAsArrayMapResult = { | ||
export type ObjectSchemaAsArrayMapResult = { | ||
field: string; | ||
@@ -10,0 +10,0 @@ originalSchema: CoreSchemaMetaSchema | undefined; |
{ | ||
"name": "@autoviews/core", | ||
"version": "4.0.3", | ||
"version": "4.0.4", | ||
"description": "TODO", | ||
@@ -41,3 +41,6 @@ "main": "dist/cjs/index.js", | ||
"license": "MIT", | ||
"gitHead": "3e08d1ae723679c62cbe4e03f51e7f1deb2dde1b" | ||
"devDependencies": { | ||
"@wixc3/react-board": "^2.1.3" | ||
}, | ||
"gitHead": "2438f8a4c22db387bea884c39cb4556fdcbde394" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
446543
223
4081
1