@formio/bootstrap
Version:
Bootstrap templates for Form.io forms
126 lines (125 loc) • 3.76 kB
JavaScript
import builder from './builder';
import builderComponent from './builderComponent';
import builderComponents from './builderComponents';
import builderEditForm from './builderEditForm';
import builderPlaceholder from './builderPlaceholder';
import builderSidebar from './builderSidebar';
import builderSidebarGroup from './builderSidebarGroup';
import columns from './columns';
import cssClasses from './cssClasses';
import datagrid from './datagrid';
import day from './day';
import dialog from './dialog';
import editgrid from './editgrid';
import field from './field';
import file from './file';
import icon from './icon';
import iconClass from './iconClass';
import input from './input';
import label from './label';
import message from './message';
import modaldialog from './modaldialog';
import modaledit from './modaledit';
import multiValueRow from './multiValueRow';
import multiValueTable from './multiValueTable';
import panel from './panel';
import radio from './radio';
import resourceAdd from './resourceAdd';
import signature from './signature';
import survey from './survey';
import tab from './tab';
import table from './table';
import well from './well';
import wizard from './wizard';
import wizardHeader from './wizardHeader';
import wizardHeaderClassic from './wizardHeaderClassic';
import wizardHeaderVertical from './wizardHeaderVertical';
import wizardNav from './wizardNav';
import alert from './alert';
import errorsList from './errorsList';
import grid from './grid';
import pagination from './pagination';
import columnMenu from './column-menu';
import tbody from './tbody';
import paginationBottom from './pagination-bottom';
export default {
transform(type, text) {
if (!text) {
return text;
}
switch (type) {
case 'class':
return this.cssClasses.hasOwnProperty(text.toString()) ? this.cssClasses[text.toString()] : text;
}
return text;
},
handleBuilderSidebarScroll(builder) {
if (builder.scrollResizeObserver) {
builder.scrollResizeObserver.disconnect();
}
builder.scrollResizeObserver = new ResizeObserver(() => {
setTimeout(() => {
const { form, sidebar } = builder.refs;
const formHeight = form && form.parentNode && form.parentNode.clientHeight;
const sidebarHeight = sidebar && sidebar.clientHeight;
const style = sidebar && sidebar.parentNode && sidebar.parentNode.style;
if (style && formHeight && sidebarHeight) {
style.height = `${Math.max(sidebarHeight + 20, formHeight)}px`;
}
});
});
builder.scrollResizeObserver.observe(builder.refs.form);
builder.scrollResizeObserver.observe(builder.refs.sidebar);
},
clearBuilderSidebarScroll(builder) {
if (builder.scrollResizeObserver) {
builder.scrollResizeObserver.disconnect();
builder.scrollResizeObserver = null;
}
},
defaultIconset: 'glyphicon',
iconClass,
cssClasses,
builder,
builderComponent,
builderComponents,
builderEditForm,
builderPlaceholder,
builderSidebar,
builderSidebarGroup,
columns,
datagrid,
day,
dialog,
editgrid,
field,
file,
icon,
input,
label,
message,
modaldialog,
modaledit,
multiValueRow,
multiValueTable,
panel,
radio,
resourceAdd,
signature,
survey,
tab,
table,
well,
wizard,
wizardHeader,
wizardHeaderClassic,
wizardHeaderVertical,
wizardNav,
errorsList,
alert,
grid,
pagination,
columnMenu,
tbody,
paginationBottom
};