2019-01-15 18:53:27 -05:00
|
|
|
/**
|
|
|
|
* Licensed to the Apache Software Foundation (ASF) under one
|
|
|
|
* or more contributor license agreements. See the NOTICE file
|
|
|
|
* distributed with this work for additional information
|
|
|
|
* regarding copyright ownership. The ASF licenses this file
|
|
|
|
* to you under the Apache License, Version 2.0 (the
|
|
|
|
* "License"); you may not use this file except in compliance
|
|
|
|
* with the License. You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing,
|
|
|
|
* software distributed under the License is distributed on an
|
|
|
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
|
|
* KIND, either express or implied. See the License for the
|
|
|
|
* specific language governing permissions and limitations
|
|
|
|
* under the License.
|
|
|
|
*/
|
2020-03-30 12:31:46 -04:00
|
|
|
import { setConfig as setHotLoaderConfig } from 'react-hot-loader';
|
2018-10-30 17:51:44 -04:00
|
|
|
import 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only';
|
2019-10-02 02:12:21 -04:00
|
|
|
import moment from 'moment';
|
2021-10-07 10:26:57 -04:00
|
|
|
// eslint-disable-next-line no-restricted-imports
|
2021-02-02 06:09:49 -05:00
|
|
|
import { configure, supersetTheme } from '@superset-ui/core';
|
|
|
|
import { merge } from 'lodash';
|
2018-10-30 17:51:44 -04:00
|
|
|
import setupClient from './setup/setupClient';
|
|
|
|
import setupColors from './setup/setupColors';
|
2018-12-04 16:24:07 -05:00
|
|
|
import setupFormatters from './setup/setupFormatters';
|
2018-10-30 17:51:44 -04:00
|
|
|
|
2020-03-30 12:31:46 -04:00
|
|
|
if (process.env.WEBPACK_MODE === 'development') {
|
|
|
|
setHotLoaderConfig({ logLevel: 'debug', trackTailUpdates: false });
|
|
|
|
}
|
|
|
|
|
2021-01-07 02:07:00 -05:00
|
|
|
let bootstrapData: any;
|
2018-10-30 17:51:44 -04:00
|
|
|
// Configure translation
|
|
|
|
if (typeof window !== 'undefined') {
|
|
|
|
const root = document.getElementById('app');
|
2021-01-07 02:07:00 -05:00
|
|
|
|
|
|
|
bootstrapData = root
|
2020-05-24 22:50:08 -04:00
|
|
|
? JSON.parse(root.getAttribute('data-bootstrap') || '{}')
|
2019-11-27 17:02:48 -05:00
|
|
|
: {};
|
2018-10-30 17:51:44 -04:00
|
|
|
if (bootstrapData.common && bootstrapData.common.language_pack) {
|
|
|
|
const languagePack = bootstrapData.common.language_pack;
|
|
|
|
configure({ languagePack });
|
2019-10-02 02:12:21 -04:00
|
|
|
moment.locale(bootstrapData.common.locale);
|
2018-10-30 17:51:44 -04:00
|
|
|
} else {
|
|
|
|
configure();
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
configure();
|
|
|
|
}
|
|
|
|
|
|
|
|
// Setup SupersetClient
|
|
|
|
setupClient();
|
|
|
|
|
2021-02-02 04:31:21 -05:00
|
|
|
setupColors(
|
|
|
|
bootstrapData?.common?.extra_categorical_color_schemes,
|
|
|
|
bootstrapData?.common?.extra_sequential_color_schemes,
|
|
|
|
);
|
2018-12-04 16:24:07 -05:00
|
|
|
|
|
|
|
// Setup number formatters
|
|
|
|
setupFormatters();
|
2021-02-02 06:09:49 -05:00
|
|
|
|
|
|
|
export const theme = merge(
|
|
|
|
supersetTheme,
|
|
|
|
bootstrapData?.common?.theme_overrides ?? {},
|
|
|
|
);
|