как будто все готово
This commit is contained in:
@@ -16,6 +16,7 @@ import { initSP } from './shared/pnp/pnpjs';
|
||||
import { installErrorLogging } from './shared/diagnostics';
|
||||
import { setImpersonatedEmail } from './shared/impersonation';
|
||||
import { APPROVAL_API_BASE_URL_LOCAL, APPROVAL_API_BASE_URL_PROD, setApprovalApiBaseUrl } from './shared/config';
|
||||
import { initListPartitions } from './shared/approval/listPartitions';
|
||||
import { ErrorOverlay } from './shared/ui';
|
||||
|
||||
export interface IRequestPortalWebPartProps {
|
||||
@@ -57,7 +58,18 @@ export default class RequestPortalWebPart extends BaseClientSideWebPart<IRequest
|
||||
protected onInit(): Promise<void> {
|
||||
installErrorLogging(); // до всего остального — чтобы поймать и ранние отклонения
|
||||
initSP(this.context); // единый клиент PnPjs для записи в списки
|
||||
return this._getEnvironmentMessage().then(message => {
|
||||
|
||||
// Адрес approval-route должен быть выставлен ДО загрузки партиций — они
|
||||
// берутся именно оттуда. В render() он ставится снова (свойство меняется в
|
||||
// панели без перезапуска), но render случается позже onInit.
|
||||
this.properties.approvalApiBaseUrl = this.properties.approvalApiBaseUrl || APPROVAL_API_BASE_URL_PROD;
|
||||
setApprovalApiBaseUrl(this.properties.approvalApiBaseUrl);
|
||||
|
||||
// Партиции грузим здесь, а не по требованию из форм: имена списков нужны
|
||||
// формам синхронно (см. shared/listTitles.ts), а формы — лениво подгружаемые
|
||||
// чанки, монтируются заведомо позже onInit. initListPartitions не бросает:
|
||||
// при недоступном approval-route портал работает по конвенции имён.
|
||||
return Promise.all([this._getEnvironmentMessage(), initListPartitions(this.context)]).then(([message]) => {
|
||||
this._environmentMessage = message;
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user