2.4.0

New features

  • added support for external catalogs (see CustomCatalog.externalUrl property)
  • report attachments can be specified as part of the application report settings (see ReportAttachments.attachments property)
  • added order settings to application settings
  • quantity may be specified for CustomArticle
  • comments may be specified for CustomArticle
  • added eventBeforeGenerateReport and eventAfterGenerateReport to ProjectReportPlugin

2.3.0

New features

  • added Application.showNotice()
  • added Utils.uploadToSharedFileStorage()
  • added Utils.getProjectFileName()
  • added ComponentFactory.createReactComponent()
  • added options to CatalogItemFilterExtension.filterCatalogItems() which define the context of the filter operation
  • added new user restriction item.ofmlArticle.update
  • added new user restrictions for hiding individual project data fields

2.2.0

New features

  • added getArticleNumberSuggestions() to Catalog plugin
  • added support for projectValidity to ApplicationSettings and EaiwsSessionDefaults

Breaking changes

  • Catalog plugins have to implement the new method getArticleNumberSuggestions()

wbk-sharedlib - Breaking Changes

  • increased version of wbk-sharedlib to 21, plugins have to be updated
  • updated react-dropzone from version 11 to 14
  • updated react from version 16 to 17
  • updated luxon from version 2 to 3
  • switched from react-split-pane to react-split-pane-r17 (because of react incompatibility)

2.1.0

New features

  • enabling the debug mode of pCon.basket now also enables debug features of 3rd party libraries (e.g. React profiling) for release/production build plugins
  • added optional fileOpenUrl option to ActivityPlugin.createComponent()
  • added Utils.openLink()
  • added Utils.getCorsProxyUrl()
  • added CommonResources.labelShare
  • added CommonResources.itemInactiveStateAlternative
  • added CommonResources.itemInactiveStateOptional
  • added CommonResources.getCalculationErrorText()
  • added ProjectEditor.setProjectMetaData() and eventProjectMetaDataChanged
  • added new user restriction item.comments and item.comments.edit
  • added new user restriction item.markAsOptional
  • added getAvailableCatalogs() and searchAndInsertArticle() to Catalog plugin
  • added optional seriesId and baseArticleNumber to CatalogArticlesQuery which are used to insert custom articles by article number
  • added optional Integration.doneButtonOptions, can be used to specify a custom icon for the done button

Changes

  • CommonResources.confirmationInconsistenArticles is now deprecated, use confirmationInconsistentArticles instead

Bug fixes

  • prevent errors when using debug/development build plugins inside the release version of pCon.basket
  • added missing lockedItems and projectMetaData to ProjectEditorActivityOptions

Breaking changes

  • debug/development build plugins have to be recompiled (release/production builds are not affected)
  • wbk-sharedlib-dev-manifest.json is no longer required and therefore no longer part of the SDK (see example plugin on how to update the weppack.config.js)
  • added parameter pItemCalculation to CommonResources.getBasketItemWarningText() which is required if the warning text should include calculation errors
  • Catalog plugins have to implement the new methods getAvailableCatalogs() and searchAndInsertArticle() otherwise inserting an article by article number will fail

2.0.0

New features

  • added ItemImages as new plugin category
  • added Application.showImageLightbox()
  • added Application.showVideo()
  • added CommonResources.labelUnsupportedFile
  • added CommonResources.labelUnsupportedImage
  • added CommonResources.getUnsupportedFileFormatText()
  • added CommonResources.getKeyboardShortcutText()
  • added new user restriction item.additionalImages

Breaking Changes

  • W-CF framework is now module based
  • it is now mandatory to use wbk-sharedlib, therefore plugins have to be compiled using webpack
  • type MessageBoxIcon is now a string literal and no longer an enum
  • removed type MessageBoxButton, predefined buttons egr.wbkApp.commonResources.button... can be used instead
  • function PropertyFilterExtension.filterProperties() has changed, provided utils should be used now to retrieve eaiws property data
  • removed Utils.isInternetExplorer() because IE is no longer supported
  • because of major version change all plugins with "requiredApiVersion.major != 2" will be ignored

wbk-sharedlib - Breaking Changes

  • renamed package from wbk-sharedlib to @egr/wbk-sharedlib (see example plugin)
  • path to wbk-sharedlib in weppack.config.js changed from /node_modules/@egr/wbk-sharedlib/dist/ to /plugin-sdk/wbk-sharedlib/
  • updated mobx 4 to mobx 6
  • updated office-ui-fabric-react 7 to @fluentui/react 8 (fabric was renamed to fluentui)

1.1.0

New features

  • added plugin category ItemListExtension and sub category ItemDescriptionProvider
  • added specialModelInfoTextId to ApplicationSettings
  • added webGL settings to ApplicationSettings
  • added priceDateSupported and setPriceDateSupported() to ApplicationSettings
  • added CommonResources.itemDataPriceDate
  • added CommonResources.itemDataUserShortText, itemDataUserLongText and itemDataUserFeatureText
  • added CommonResources.getBasketItemWarningText()
  • added multilanguage support to CustomArticle
  • added new user restriction project.data.defaultPriceDate.edit

1.0.0

New features

  • added browserStorage to ApplicationSettings, which is used to store user settings for the current browser
  • added userStorage to ApplicationSettings, which is used to store cross browser user settings
  • added projectEditor settings to ApplicationSettings
  • AuthenticationPlugin may optionally provide a user settings storage
  • added EaiwsSessionDefaults.storeDefaultsOnUserStorage()
  • added CustomCatalog as new sub category of CatalogExtension which is used to provide custom catalogs
  • added Catalog.onInsertCustomArticle()
  • added Application.waitWhileBusy() and finishPendingOperations()
  • added plugin category AppSettingsPanel
  • added support for primary actions to ActionProvider.getBasketActions(), hence added MenuAction.primary flag
  • added quoteText as new InformationType for ItemInfoExtension
  • additional actions can be registered when creating a ProjectEditor (see ProjectEditorOptions.additionalActions )
  • added CommonResources.quoteDataValidToDate
  • added CommonResources.labelInconsistenArticles
  • added CommonResources.confirmationInconsistenArticles
  • added Utils.startFileDownload()
  • added new user restriction item.extraTexts
  • added new user restriction item.extraTexts.edit
  • added new user restriction item.ofmlArticle.userDescription
  • added new user restriction item.ofmlArticle.userDescription.edit
  • added new user restriction project.customer.general.company.edit
  • added new user restriction project.customer.general.externalCustomerId.edit
  • added new user restriction project.customer.general.customerNumber.edit
  • added new user restriction project.customer.general.generalAgreementNumber.edit
  • added new user restriction project.customer.general.customerRelatedRemarks.edit
  • added new user restriction project.data.projectDate.edit
  • added new user restriction project.data.projectValidToDate.edit
  • added new user restriction project.data.externalReferenceNumber.edit
  • added new user restriction project.data.externalReferenceText.edit
  • added new user restriction project.data.description.edit
  • added new user restriction project.data.keywords.edit
  • added new user restriction project.data.headerText.edit
  • added new user restriction project.data.footerText.edit

Changes

  • Action.text is now optional

Breaking Changes

  • removed ApplicationSettings.setSettingJson() and getSettingJson(), ApplicationSettings.browserStorage should be used instead
  • removed ApplicationSettings.setSettingString() and getSettingString(), ApplicationSettings.browserStorage should be used instead
  • the first parameter of CatalogPlugin.createComponent() is now of type ProjectEditor instead of EaiwsSession
  • added mandatory parameter pCancelable to ActivityHost.stopActivity()

1.0.0-beta.3

New features

  • added report settings to ApplicationSettings
  • added User.accountUrl
  • added projectMetaData property to ProjectEditor and ProjectEditorOptions
  • added ProjectEditor.showCatalog()
  • added PluginManager.disableCategories()
  • added ProjectWorkflow.projectOffered()
  • added optional ProjectCustomerPickerExtension.getMenuActions()
  • added new user restriction project.customer.search.edit
  • added new user restriction project.customer.general.edit
  • added new user restriction project.customer.mainAddress
  • added new user restriction project.customer.mainAddress.edit
  • added new user restriction project.customer.billingAddress
  • added new user restriction project.customer.billingAddress.edit
  • added new user restriction project.calculation.margin
  • added new user restriction project.data.textFormatting
  • added new user restriction item.calculation.margin
  • added new user restriction item.calculation.updateConditionAmounts
  • added new user restriction item.folder.subTotal
  • added new user restriction order.orderNumber.edit
  • added new user restriction order.vendorNumber.edit
  • added new user restriction order.billingAddress.edit

1.0.0-beta.2

New features

  • its easier now to replace default plugins without the need to disable them in the application settings (see PluginDescriptor.isDefault)
  • added support for custom HTML or React content to Application.showMessageBox()
  • added User.eaiwsSession which should be the preferred session if available (see CreateEaiwsSessionOptions.useUserSession)
  • added User.companyLogo
  • added support for pCon.login token and user sessions to Utils.createEaiwsSession()
  • added Utils.closeEaiwsSession() helper to ensure correct handling of user session
  • added Utils.uploadToEaiwsSession()
  • added Utils.resizeImage()
  • added Utils.clearEaiwsProjectGroupsCache() and Utils.clearEaiwsPriceListsCache()
  • added new user restriction item.externalItemNumber
  • added new user restriction item.externalItemNumber.edit
  • added new user restriction project.data.dataLanguage.edit
  • added DataLanguage as new setting to DefaultSessionSetting type (used from EaiwsSessionDefaults)
  • added CommonResources.labelDeleteDefaults
  • added CommonResources.contactDataSalutationMr and CommonResources.contactDataSalutationMrs
  • added CommonResources.quoteDataLanguage
  • added plugin category ItemStatusBar
  • added plugin category ItemInfoExtension and sub category InfoProvider
  • ProjectExportPlugin and ProjectImportPlugin have access to the ProjectEditor now

Breaking Changes (compile time only)

  • moved EaiwsAuthData interface from types/User.d.ts to Utils.d.ts

Breaking Changes

  • removed User.eaiwsAuthData property, User.eaiwsSession should be used instead
  • sessions created by Utils.createEaiwsSession() will be automatically closed if the browser window gets closed (see CreateEaiwsSessionOptions.closeSessionOnWindowClose)
  • Utils.createEaiwsSession() will use the user session by default if available (see CreateEaiwsSessionOptions.useUserSession)
  • function signature of Utils.createEaiwsSession() has changed
  • function signature of ProjectExportPlugin.export() has changed
  • function signature of ProjectImportPlugin.import() has changed
  • removed Integration.finish(), Activity.prepareActivityStop() should be implemented instead (which is also cancelable)
  • removed ProjectPriceSummary plugin category, ItemStatusBar could be used as an alternative
  • replaced ProgressOverlay react component by non react based class to make it easier to use (see ComponentFactory.createProgressOverlay())

1.0.0-beta.1

New features

  • added plugin category ProjectCustomerPicker and ProjectCustomerPickerExtension
  • added disableAbort flag to ProgressOverlayProps
  • added optional abortable progress to LoadingPanel component
  • added ProjectEditor.eventBaseRestrictionsChanged
  • added ProjectEditorOptions.migrateLegacyProjectData
  • added CommonResources.contactDataConditionNumber
  • added ProjectDataPanel as new sub category of ProjectEditorExtension plugins
  • added new user restriction item.userArticle.purchasePrice.edit
  • added support for migration of legacy project data to Utils.createBasket()
  • showUser and showDoneButton property to Integration plugin component
  • ProjectEditorOptions.additionalRestrictions property may be of type UserRestrictionsProvider to support dynamic restrictions

Breaking Changes

  • renamed CommonResources.itemDataNetWeight to itemDataPackagingNetWeight
  • renamed ProjectEditor.initialRestrictions to baseRestrictions
  • replaced ProjectEditorActivityOptions.onGetAdditionalRestrictions callback by additionalRestrictions property
  • default value of ThemeSettings.appBarColor is now #ffffff
  • function signature of Utils.createBasket() has changed
  • Integration plugin components have to implement the showUser and showDoneButton property

1.0.0-alpha.4

New features

  • added support for locked items to ProjectEditor

1.0.0-alpha.3

New features

  • added ApplicationSettings.eventLocaleChanged
  • added ApplicationSettings.supportedProjectStates
  • added ApplicationSettings.setSettingJson() and getSettingJson()
  • added ApplicationSettings.setSettingString() and getSettingString()
  • added theme settings to ApplicationSettings
  • added Application.eaiwsSessionDefaults
  • added Application.showEaiwsSessionUploadDialog()
  • added Application.showLoginDialog()
  • added Application.runInBusySection()
  • added Application.showErrorMessage()
  • added PluginManager.getDescriptorByCategory()
  • added PluginManager.disablePlugins()
  • added optional Activity.prepareActivityStop()
  • added optional EaiwsSettings.keepAliveInterval
  • added CommonResources.getCountries()
  • added CommonResources.getCountrySubdivisions()
  • added CommonResources.getEaiwsProjectGroupName()
  • added CommonResources.getEaiwsPriceListName()
  • added several new string resources to CommonResources
  • added ComponentFactory.createProjectEditorActivity() as an easy way to start the default project editor
  • added optional parameter pCustomSettings and pUserToken to Utils.createEaiwsSession()
  • added MessageBoxIcon.Question
  • added ItemList.onEditSelection
  • added Utils.createBasket()
  • added Utils.getEaiwsProjectGroups()
  • added Utils.getEaiwsPriceLists()
  • added editorMode to ProjectEditor
  • added ProjectPickerOptions.eaiwsSession
  • added ProjectPickerOptions.projectLockingMode
  • added User.eaiwsAuthData
  • added User.roles
  • added ActionProvider.getBasketActions() and eventBasketActionsChanged
  • added support for pre-created ProjectInfo instance to ProjectEditor
  • added sub action support to ActionProvider.getItemActions() and ItemList.onShowSelectionContextMenu
  • added new user restrictions
  • added optional CatalogItemFilterExtension.requiredCatalogResources
  • added plugin category ProjectPartyInCharge
  • added plugin category ProjectTerms
  • added plugin category ProjectWorkflow
  • added plugin category AddressForm
  • added plugin category ItemInfo

Breaking Changes (compile time only)

  • ProjectEditor.getMainMenuActions() returns a readonly array
  • Activity.getMainMenuActions() returns a readonly array
  • ActionProvider.getMainMenuActions() and getItemActions() returns a readonly array
  • removed CommonResources.getCountryCodes() uses getCountries() instead
  • removed CommonResources.getCountryName() now returns a promise and requires an eaiws session
  • removed CommonResources.getRegionName() now returns a promise and requires an eaiws session

Breaking Changes

  • moved createRootComponentContainer() and ComponentContainer from Application.utils to Application.componentFactory
  • changed return type of ProjectPickerPlugin.pickProject() to support readonly projects
  • ActionProvider plugins have to implement getBasketActions()
  • renamed plugin category PriceSummary to ProjectPriceSummary
  • renamed plugin category CustomerData to ProjectCustomer
  • renamed plugin category ItemText to ItemProperties

1.0.0-alpha.2

New features

  • added MessageBoxOptions.isSignificant
  • added Utils.normalizeUserRestrictions()
  • added edit user restriction
  • added item.edit user restriction
  • added project.edit user restriction
  • added project.currency.exchangeRates user restriction
  • added project.currency.exchangeRates.edit user restriction
  • added project.tax.taxRates user restriction
  • added project.tax.taxRates.edit user restriction
  • added plugin category CatalogExtension and CatalogItemFilter as sub category
  • added plugin category ItemConfigurationExtension and PropertyFilter as sub category
  • added plugin category ProjectPicker

Breaking Changes

  • replaced pContainer and pProjectInfo of ProjectDataPlugin.createComponent() with pOptions parameter
  • replaced pContainer and pProjectInfo of CustomerDataPlugin.createComponent() with pOptions parameter
  • Fabric icon names can no longer be used, material design icon names with added mdi- prefix have to be used instead (see: https://materialdesignicons.com/)
  • CSS class names from office-ui-fabric-core can no longer be used

1.0.0-alpha.1

New features

  • added concept of user restrictions to limit access to certain features on user and project level (see wbk-core/types/User.d.ts)
  • eaiws and calculation settings can be changed at runtime (see ApplicationSettings.setCalculation() and setEaiws())
  • added data language setting (see ApplicationSettings.dataLanguage)
  • added Application.customData
  • added Application.userRestrictions
  • added User.attributes
  • added patch and preRelease properties to ApiVersion
  • Integration plugin components may provide an active user
  • added Authorization as new plugin category
  • added PriceSummary as new plugin category
  • added ItemStatusProvider as new plugin category

Breaking Changes (compile time only)

  • moved User interface from plugins/Authentication.d.ts to types/User.d.ts
  • moved PluginComponent interface from Plugin.d.ts to PluginComponent.d.ts

Breaking Changes

  • Integration plugin components have to implement the user property
  • Integration plugin components have to implement the userRestrictions property
  • Authentication plugins have to implement the logoutSupported property
  • implementation of ActionProvider.getMainMenuActions() and ActionProvider.getItemActions() is no longer optional
  • replaced pContainer and pEaiwsSession of ProjectEditorPlugin.createComponent() with pOptions parameter

Generated using TypeDoc