Index

src/app/spreadsheet/spreadsheet-data/actions/spreadsheet.actions.ts

activeCellFormValueChange
Default value : createAction( '[Spreadsheet] Active Cell Form Value Change', props<{ value: CellValue }>() )
addColumnToSpreadsheet
Default value : createAction( '[Spreadsheet] Add column' )
addRowToSpreadsheet
Default value : createAction( '[Spreadsheet] Add row' )
cellClicked
Default value : createAction( '[Spreadsheet] Cell Clicked', props<{ cellIndex: number}>() )
resetSpreadsheet
Default value : createAction( '[Spreadsheet] Reset' )
updateCellValue
Default value : createAction( '[Spreadsheet] Update Cell Value', props<{ id: number, value: CellValue, position: CellPosition }>() )

src/app/spreadsheet/spreadsheet-data/reducers/spreadsheet-ui.reducer.ts

adapter
Type : EntityAdapter<Cell>
Default value : createEntityAdapter<Cell>()
initialState
Type : State
Default value : { activeCellPosition: { column: 1, row: 1 }, rows: 8, columns: 8, ids: [], entities: {} }
spreadsheetUIReducer
Default value : createReducer( initialState, on( spreadsheetActions.cellClicked, (state, { cellIndex }) => ({...state, activeCellPosition: getCellPositionByIndex(state.rows, state.columns, cellIndex)}) ), on( spreadsheetActions.updateCellValue, (state, { id, value, position }) => adapter.upsertOne({id, value, position}, state) ), on( spreadsheetActions.addRowToSpreadsheet, (state) => ({...state, rows: state.rows + 1}) ), on( spreadsheetActions.addColumnToSpreadsheet, (state) => ({...state, columns: state.columns + 1}) ), on( spreadsheetActions.resetSpreadsheet, () => ({...initialState}) ) )

src/app/core/services/local-storage.service.ts

BROWSER_STORAGE
Default value : new InjectionToken<Storage>('Browser Storage', { providedIn: 'root', factory: () => localStorage })
localStorageAppStateKey
Type : string
Default value : 'APP-STATE'

src/environments/environment.prod.ts

environment
Type : object
Default value : { production: true }

src/environments/environment.ts

environment
Type : object
Default value : { production: false }

src/app/spreadsheet/spreadsheet-data/helpers/cell.helpers.ts

getCellAddressByPosition
Default value : (position: CellPosition): string => { // Cell Address is Column followed by Number ie C1, index starts A or 1 let address = '' address += getColumnLabel(position.column).toUpperCase() // Column address += position.row return address }
getCellPositionByIndex
Default value : (rows: number, columns: number, index: number): CellPosition => { rows = parseInt(rows as any as string) columns = parseInt(columns as any as string) const position = { row: undefined, column: undefined } let i = 0; for(let x = 1; x <= rows; x++) { for(let y = 1; y <= columns; y++) { if (i === index) { position.row = x position.column = y x = columns y = rows } i++ } } return position }

src/app/spreadsheet/spreadsheet-data/selectors/spreadsheet-ui.selectors.ts

Default value : adapter.getSelectors(selectSpreadsheetUI)
selectAllSpreadsheetCells
Default value : selectAll
selectSpreadsheetActiveCellId
Default value : createSelector( selectSpreadsheetUI, (state:SpreadsheetUIState) => { let cellId = undefined Object.keys(state.entities).forEach(id => { if(state.entities[id].position.column == state.activeCellPosition.column && state.entities[id].position.row == state.activeCellPosition.row) { cellId = parseInt(id) } }) return cellId } )
selectSpreadsheetActiveCellPosition
Default value : createSelector( selectSpreadsheetUI, (state:SpreadsheetUIState) => state.activeCellPosition )
selectSpreadsheetCellsCount
Default value : selectTotal
selectSpreadsheetColumnsCount
Default value : createSelector( selectSpreadsheetUI, (state: SpreadsheetUIState) => state.columns )
selectSpreadsheetEntities
Default value : selectEntities
selectSpreadsheetIds
Default value : selectIds
selectSpreadsheetRowsCount
Default value : createSelector( selectSpreadsheetUI, (state: SpreadsheetUIState) => state.rows )
selectSpreadsheetUI
Default value : createSelector( selectSpreadsheet, (state: SpreadsheetState) => state.ui )

src/app/core/reducers/meta.reducers.ts

metaReducersFactory
Default value : (storageService: LocalStorageService): MetaReducer<RootState>[] => [actionStatesLoggerMetaReducer, syncStateWithLocalStorageMetaReducer(['spreadsheet'], storageService)]

src/app/spreadsheet/spreadsheet-data/reducers/spreadsheet.reducers.ts

reducers
Type : object
Default value : { ui: fromSpreadsheetUI.reducer }

src/app/core/reducers/root.reducers.ts

reducers
Type : ActionReducerMap<RootState>
Default value : { router: routerReducer }
selectRouter
Default value : createFeatureSelector('router')

src/app/spreadsheet/spreadsheet-data/selectors/spreadsheet.selector.ts

selectSpreadsheet
Default value : createFeatureSelector<SpreadsheetState>('spreadsheet')

src/app/core/reducers/sync-state-with-local-storage.meta-reducer.ts

syncStateWithLocalStorageMetaReducer
Default value : <S, A extends Action = Action>(stateFeatureKeys: string[], storageService: LocalStorageService) => { let hasInitLocalStore = false return (reducer: ActionReducer<S, A>) => { return (state: S, action: A): S => { const nextState = reducer(state, action) if (!hasInitLocalStore) { hasInitLocalStore = true const savedState = storageService.getState() return merge(nextState, savedState) } const stateToStore = pick(nextState, stateFeatureKeys) storageService.storeState(stateToStore) return nextState } } }

result-matching ""

    No results matching ""