Skip to content

Dev -> Main #772

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 75 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
a2bd841
feature: Initial Implementation of `lost-password` api endpoint
irfan-ikhwa Feb 14, 2024
ceabd3b
feature: Initial Implementation of Email Sending Feature with dummy D…
irfan-ikhwa Feb 17, 2024
c4b18bd
feature: Initial Password reset flow implementation
irfan-ikhwa Feb 18, 2024
96081d3
feature: Added email template in OrganizationCommonSettings, Added pu…
irfan-ikhwa Feb 20, 2024
d5c63ea
feature: Added emailTemplate in common-settings.
irfan-ikhwa Feb 22, 2024
0a213f4
Merge branch 'dev' into lost-password-feature
aq-ikhwa-tech Feb 25, 2024
65d9e2a
Misc fixes
aq-ikhwa-tech Feb 25, 2024
39ad3ac
Misc fixes
aq-ikhwa-tech Feb 26, 2024
72518dc
Update application.props
aq-ikhwa-tech Feb 26, 2024
d384418
Update application.props to include smtp server auth
aq-ikhwa-tech Feb 26, 2024
810d669
Merge branch 'lowcoder-org:main' into lost-password-feature
aq-ikhwa-tech Feb 26, 2024
758f86f
Merge branch 'dev' into lost-password-feature
aq-ikhwa-tech Feb 26, 2024
0391d2a
feature: Added Env Variables for SMPT server
irfan-ikhwa Feb 27, 2024
bc74e8a
feature: Rename SMTP Env variable to ADMIN
irfan-ikhwa Feb 27, 2024
345c18a
Label style work in progress
imtananikhwa Feb 29, 2024
e85db24
Merge branch 'imtanan-task1' of https://github.com/imtananikhwa/lowco…
imtananikhwa Feb 29, 2024
1f16453
Label style w.i.p
imtananikhwa Mar 1, 2024
15ee234
Rating component, signature component ,date component label styling p…
imtananikhwa Mar 4, 2024
80d78f9
separate defaultValue and value for old input/select comps
raheeliftikhar5 Mar 5, 2024
f324f75
map ready state fix
raheeliftikhar5 Mar 5, 2024
abe4b20
update lowcoder-comps version
raheeliftikhar5 Mar 5, 2024
30dcd9c
Merge branch 'dev' into lost-password-feature
FalkWolsky Mar 5, 2024
20f5bc8
New plugin system
ludomikula Feb 5, 2024
e78671f
Merge pull request #742 from raheeliftikhar5/handle_defaultValue
FalkWolsky Mar 5, 2024
b58a742
new: plugin endpoint security basics
ludomikula Mar 5, 2024
800c16c
Merge branch 'lowcoder-org:dev' into dev
ludomikula Mar 6, 2024
e9a17d7
Fixed issue when apply bulk margin and padding
imtananikhwa Mar 7, 2024
eb0e0d5
feature: Extended folder to have more meta-data i.e: title, descripti…
irfan-ikhwa Mar 6, 2024
348c98e
Merge branch 'lowcoder-org:dev' into dev
ludomikula Mar 8, 2024
488e234
New plugin system
ludomikula Feb 5, 2024
da0c2aa
new: plugin endpoint security basics
ludomikula Mar 5, 2024
9f0e484
fix: complete the locale file
Mar 11, 2024
a722043
Merge branch 'dev' into fix/complete-the-locale-file
FalkWolsky Mar 11, 2024
a222250
Merge pull request #752 from cnelf/fix/complete-the-locale-file
FalkWolsky Mar 11, 2024
d2b469e
Merge branch 'dev' into margin-padding-fixes
FalkWolsky Mar 12, 2024
8471891
Merge pull request #746 from imtananikhwa/margin-padding-fixes
FalkWolsky Mar 12, 2024
c14b91a
fix: coding standard and typo
Mar 12, 2024
5343945
changed the API response to empty in case user does not exist.
irfan-ikhwa Mar 13, 2024
833c22b
Added env Variables.
irfan-ikhwa Mar 13, 2024
e719522
Merge pull request #754 from cnelf/fix/code-style-standard-and-typo
FalkWolsky Mar 13, 2024
c5447c3
Added ssl auth.
irfan-ikhwa Mar 14, 2024
e5613c5
updated email sender filed name
irfan-ikhwa Mar 14, 2024
a8b2ece
updated email sender filed name
irfan-ikhwa Mar 14, 2024
ac6eb29
Merge branch 'dev' into lost-password-feature
FalkWolsky Mar 14, 2024
dcaf94f
Merge pull request #755 from irfan-ikhwa/lost-password-feature
FalkWolsky Mar 14, 2024
d9d0883
fix crashing on reordering comps inside module
raheeliftikhar5 Mar 14, 2024
3af570b
fix broken modal issue
raheeliftikhar5 Mar 14, 2024
8ef0a65
fix bulk action updates doesn't change all comps height
raheeliftikhar5 Mar 14, 2024
9137090
fix iconSelector issue in js
raheeliftikhar5 Mar 14, 2024
cdbbb6c
Just a small remark for later Todos
Mar 14, 2024
8d6c4bd
Merge branch 'dev' into module-layers-issue
FalkWolsky Mar 15, 2024
ec9c177
Merge pull request #756 from lowcoder-org/module-layers-issue
FalkWolsky Mar 15, 2024
b4e0292
Updating the SDK, update Simplebar and Fix simplebar-placeholder problem
Mar 17, 2024
565bb46
Updating the SDK, update Simplebar and Fix simplebar-placeholder problem
Mar 17, 2024
90679f9
Fixing Scrollbars for Modules Editor View
Mar 18, 2024
211c50d
Google Fonts & Clearbit only on public Cloud
Mar 19, 2024
b1e9425
fix: revert unwanted change
ludomikula Mar 20, 2024
a95fb7c
fix: replace all javax dependencies with jakarta dependencies
ludomikula Mar 20, 2024
3476223
Merge pull request #767 from Lowcoder-Pro/dev
FalkWolsky Mar 24, 2024
eeef89a
Fixing AssetService - after Falk broke it.
Mar 24, 2024
d602bd4
Enabling display of Version Number for Remote Components
Mar 24, 2024
33d8210
Merge pull request #766 from lowcoder-org/cherry-release
FalkWolsky Mar 24, 2024
2b68d59
Enabling display of Version Number for Remote Components
Mar 24, 2024
17abd87
Update Helmet Tags
Mar 24, 2024
df8c97c
Fixing Helmet Tags Implementation
Mar 24, 2024
ca6905f
Merge branch 'main' into cherry-release
FalkWolsky Mar 24, 2024
e72a6c9
Adding DayJS plugins by Default
Mar 24, 2024
28112a1
Adding all DayJS plugins by Default
Mar 24, 2024
dafdd3a
Fixing - adding all DayJS plugins by Default
Mar 24, 2024
39919c4
Merge branch 'dev' into cherry-release
FalkWolsky Mar 24, 2024
6a1df31
Merge pull request #771 from lowcoder-org/cherry-release
FalkWolsky Mar 24, 2024
824cbec
Introducing EE Version - active Development
Mar 24, 2024
7bbda3a
Introduce a Floating Text Container
Mar 25, 2024
e4324ef
Enabling Sections to control open-state
Mar 26, 2024
06c0f5b
Adding Layout Component and global style selector
Mar 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ client/node_modules/
client/packages/lowcoder-plugin-demo/.yarn/install-state.gz
client/packages/lowcoder-plugin-demo/yarn.lock
client/packages/lowcoder-plugin-demo/.yarn/cache/@types-node-npm-16.18.68-56f72825c0-094ae9ed80.zip
application-dev.yml
7 changes: 1 addition & 6 deletions client/config/test/jest.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,10 @@ export function currentDirName(importMetaUrl) {
return dirname(fileURLToPath(importMetaUrl));
}


const globals = {};
buildVars.forEach(({ name, defaultValue }) => {
globals[name] = process.env[name] || defaultValue;
});
const edition = process.env.REACT_APP_EDITION;
const isEEGlobal = edition === "enterprise-global";
const isEE = edition === "enterprise" || isEEGlobal;
const currentDir = currentDirName(import.meta.url);

export default {
Expand All @@ -22,8 +18,7 @@ export default {
"react-markdown": path.resolve(currentDir, "./mocks/react-markdown.js"),
"\\.md\\?url$": path.resolve(currentDir, "./mocks/markdown-url-module.js"),
"^@lowcoder-ee(.*)$": path.resolve(
currentDir,
isEE ? "../../packages/lowcoder/src/ee/$1" : "../../packages/lowcoder/src/$1"
currentDir, "../../packages/lowcoder/src/$1"
),
"lowcoder-sdk": path.resolve(currentDir, "../../packages/lowcoder/src/index.sdk"),
},
Expand Down
1 change: 0 additions & 1 deletion client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
"start": "yarn workspace lowcoder start",
"start-win": "LOWCODER_API_SERVICE_URL=http://localhost:3000 yarn start",
"start:ee": "REACT_APP_EDITION=enterprise yarn workspace lowcoder start",
"start:ee-global": "REACT_APP_EDITION=enterprise-global yarn workspace lowcoder start",
"build": "yarn node ./scripts/build.js",
"test": "jest && yarn workspace lowcoder-comps test",
"prepare": "yarn workspace lowcoder prepare",
Expand Down
2 changes: 1 addition & 1 deletion client/packages/lowcoder-comps/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "lowcoder-comps",
"version": "0.0.26",
"version": "0.0.27",
"type": "module",
"license": "MIT",
"dependencies": {
Expand Down
1 change: 0 additions & 1 deletion client/packages/lowcoder-design/src/components/Label.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ export const labelCss: any = css`
user-select: none;

font-size: 13px;
color: #222222;

&:hover {
cursor: default;
Expand Down
6 changes: 5 additions & 1 deletion client/packages/lowcoder-design/src/components/Section.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ const ShowChildren = styled.div<{ $show?: string; $noMargin?: boolean }>`

interface ISectionConfig<T> {
name?: string;
open?: boolean;
width?: number;
noMargin?: boolean;
style?: React.CSSProperties;
Expand Down Expand Up @@ -103,7 +104,9 @@ export const PropertySectionContext = React.createContext<PropertySectionContext
export const BaseSection = (props: ISectionConfig<ReactNode>) => {
const { name } = props;
const { compName, state, toggle } = useContext(PropertySectionContext);
const open = name ? state[compName]?.[name] !== false : true;
const open = props.open !== undefined ? props.open : name ? state[compName]?.[name] !== false : true;

console.log("open", open, props.open);

const handleToggle = () => {
if (!name) {
Expand Down Expand Up @@ -142,6 +145,7 @@ export const sectionNames = {
validation: trans("prop.validation"),
layout: trans("prop.layout"),
style: trans("prop.style"),
labelStyle:trans("prop.labelStyle"),
data: trans("prop.data"),
meetings : trans("prop.meetings"), // added by Falk Wolsky
};
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ export const en = {
advanced: "Advanced",
validation: "Validation",
layout: "Layout",
labelStyle:"Label Style",
style: "Style",
meetings : "Meeting Settings",
data: "Data",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ export const zh = {
advanced: "高级",
validation: "验证",
layout: "布局",
labelStyle:"标签样式",
style: "样式",
meetings: "会议",
data: "数据",
Expand Down
1 change: 1 addition & 0 deletions client/packages/lowcoder-design/src/icons/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,7 @@ export { ReactComponent as RecyclerIcon } from "./remix/delete-bin-line.svg";
export { ReactComponent as MarketplaceIcon } from "./icon-application-marketplace.svg";
export { ReactComponent as FavoritesIcon } from "./icon-application-favorites.svg";
export { ReactComponent as HomeSettingIcon } from "./remix/settings-4-line.svg";
export { ReactComponent as EnterpriseIcon } from "./remix/earth-line.svg";


// new
Expand Down
31 changes: 14 additions & 17 deletions client/packages/lowcoder/src/app.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,16 @@ import {
IMPORT_APP_FROM_TEMPLATE_URL,
INVITE_LANDING_URL,
isAuthUnRequired,
MARKETPLACE_TYPE_URL,
MARKETPLACE_URL,
ORG_AUTH_LOGIN_URL,
ORG_AUTH_REGISTER_URL,
QUERY_LIBRARY_URL,
SETTING,
TRASH_URL,
USER_AUTH_URL,
ADMIN_APP_URL,
} from "constants/routesURL";

import React from "react";
import { createRoot } from "react-dom/client";
import { Helmet } from "react-helmet";
Expand All @@ -38,7 +39,7 @@ import LazyRoute from "components/LazyRoute";
import AppFromTemplate from "pages/ApplicationV2/AppFromTemplate";
import AppEditor from "pages/editor/AppEditor";
import { getAntdLocale } from "i18n/antdLocale";
import { CodeEditorTooltipContainer } from "base/codeEditor/codeEditor";
// import { CodeEditorTooltipContainer } from "base/codeEditor/codeEditor";
import { ProductLoading } from "components/ProductLoading";
import { language, trans } from "i18n";
import { loadComps } from "comps";
Expand Down Expand Up @@ -111,21 +112,16 @@ class AppIndex extends React.Component<AppIndexProps, any> {
{<title>{this.props.brandName}</title>}
{<link rel="icon" href={this.props.favicon} />}
<meta name="description" content={trans("productDesc")} />

{isLowCoderDomain && (
<>
{/* setting Meta Attributes to be able for embedding via iframely */}
<meta property="iframely:title" content="Lowcoder" />
<meta property="iframely:description" content="Lowcoder | rapid App & VideoMeeting builder for everyone." />

<link rel="preconnect" href="https://fonts.googleapis.com"/>
<link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="anonymous"/>
<link href="https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,700;1,400&display=swap" rel="stylesheet"/>
{/* embedding analytics of Cleabits */}
<script src="https://tag.clearbitscripts.com/v1/pk_931b51e405557300e6a7c470e8247d5f/tags.js" referrerPolicy="strict-origin-when-cross-origin"></script>
</>
)}

{isLowCoderDomain && [
// Adding Support for iframely to be able to embedd the component explorer in the docu
<meta key="iframely:title" property="iframely:title" content="Lowcoder" />,
<meta key="iframely:description" property="iframely:description" content="Lowcoder | rapid App & VideoMeeting builder for everyone." />,
<link key="preconnect-googleapis" rel="preconnect" href="https://fonts.googleapis.com" />,
<link key="preconnect-gstatic" rel="preconnect" href="https://fonts.gstatic.com" crossOrigin="anonymous" />,
<link key="font-ubuntu" href="https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,700;1,400&display=swap" rel="stylesheet" />,
// adding Clearbit Support for Analytics
<script key="clearbit-script" src="https://tag.clearbitscripts.com/v1/pk_931b51e405557300e6a7c470e8247d5f/tags.js" referrerPolicy="strict-origin-when-cross-origin" type="text/javascript"></script>
]}
</Helmet>
<SystemWarning />
<Router history={history}>
Expand Down Expand Up @@ -160,6 +156,7 @@ class AppIndex extends React.Component<AppIndexProps, any> {
TRASH_URL,
SETTING,
MARKETPLACE_URL,
ADMIN_APP_URL,
]}
// component={ApplicationListPage}
component={ApplicationHome}
Expand Down
8 changes: 8 additions & 0 deletions client/packages/lowcoder/src/components/CompName.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ export const CompName = (props: Iprops) => {

const items: EditPopoverItemType[] = [];

// Falk: TODO - Implement upgrade for individual Version functionality
const handleUpgrade = async () => {
if (upgrading) {
return;
Expand Down Expand Up @@ -112,6 +113,13 @@ export const CompName = (props: Iprops) => {


if (compInfo.isRemote) {
items.push({
text: trans("history.currentVersion") + ": " + compInfo.packageVersion,
onClick: () => {

},
});

items.push({
text: trans("comp.menuUpgradeToLatest"),
onClick: () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { styleControl } from "comps/controls/styleControl";
import {
InputLikeStyle,
InputLikeStyleType,
LabelStyle,
} from "comps/controls/styleControlConstants";
import {
NameConfig,
Expand Down Expand Up @@ -73,6 +74,7 @@ const childrenMap = {
viewRef: RefControl<InputRef>,
allowClear: BoolControl.DEFAULT_TRUE,
style: styleControl(InputLikeStyle),
labelStyle:styleControl(LabelStyle),
prefixIcon: IconControl,
suffixIcon: IconControl,
items: jsonControl(convertAutoCompleteData, autoCompleteDate),
Expand Down Expand Up @@ -276,8 +278,9 @@ let AutoCompleteCompBase = (function () {
</ConfigProvider>
</>
),
// style: props.style,
// ...validateState,
style: props.style,
labelStyle:props.labelStyle,
...validateState,
});
})
.setPropertyViewFn((children) => {
Expand Down Expand Up @@ -335,6 +338,9 @@ let AutoCompleteCompBase = (function () {
<Section name={sectionNames.style}>
{children.style.getPropertyView()}
</Section>
<Section name={sectionNames.labelStyle}>
{children.labelStyle.getPropertyView()}
</Section>
</>
);
})
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
import { BoolCodeControl, StringControl } from "comps/controls/codeControl";
import { stringExposingStateControl } from "comps/controls/codeStateControl";
import { ToDataType } from "comps/generators/multi";
import {
NameConfigHidden,
withExposingConfigs,
} from "comps/generators/withExposing";
import { NameGenerator } from "comps/utils/nameGenerator";
import { hiddenPropertyView } from "comps/utils/propertyUtils";
import { trans } from "i18n";
import { CompParams } from "lowcoder-core";
import { Section, sectionNames } from "lowcoder-design";
import { oldContainerParamsToNew } from "../containerBase";
import { toSimpleContainerData } from "../containerBase/simpleContainerComp";
import {
ContainerChildren,
ContainerCompBuilder,
} from "../triContainerComp/triContainerCompBuilder";
import { TriContainer } from "../triContainerComp/triFloatTextContainer";
import { dropdownControl } from "comps/controls/dropdownControl";
import { withDefault } from "@lowcoder-ee/index.sdk";

const typeOptions = [
{
label: "Markdown",
value: "markdown",
},
{
label: trans("text"),
value: "text",
},
] as const;

const floatOptions = [
{
label: "None",
value: "none",
},
{
label: "Right",
value: "right",
},
{
label: "Left",
value: "left",
},
] as const;

export const ContainerBaseComp = (function () {
const childrenMap = {
disabled: BoolCodeControl,
text: stringExposingStateControl(
"text",
trans("textShow.text", { name: "{{currentUser.name}}" })
),
type: dropdownControl(typeOptions, "markdown"),
float: dropdownControl(floatOptions, "none"),
width: withDefault(StringControl, "60"),
};
return new ContainerCompBuilder(childrenMap, (props, dispatch) => {
return <TriContainer {...props} />;
})
.setPropertyViewFn((children) => {
return (
<>
<Section name={sectionNames.basic}>
{children.type.propertyView({
label: trans("value"),
tooltip: trans("textShow.valueTooltip"),
radioButton: true,
})}
{children.text.propertyView({})}
{children.width.propertyView({
label: trans("container.flowWidth"),
})}
</Section>
<Section name={sectionNames.layout}>
{children.container.getPropertyView()}
{children.float.propertyView({
label: trans("container.floatType"),
tooltip: trans("textShow.valueTooltip"),
radioButton: true,
})}

{hiddenPropertyView(children)}
</Section>
<Section name={sectionNames.style}>
{children.container.stylePropertyView()}
</Section>
</>
);
})
.build();
})();

// Compatible with old data
function convertOldContainerParams(params: CompParams<any>) {
// convert older params to old params
let tempParams = oldContainerParamsToNew(params);

if (tempParams.value) {
const container = tempParams.value.container;
// old params
if (
container &&
(container.hasOwnProperty("layout") || container.hasOwnProperty("items"))
) {
const autoHeight = tempParams.value.autoHeight;
return {
...tempParams,
value: {
container: {
showHeader: false,
body: { 0: { view: container } },
showBody: true,
showFooter: false,
autoHeight: autoHeight,
},
},
};
}
}
return tempParams;
}

class ContainerTmpComp extends ContainerBaseComp {
constructor(params: CompParams<any>) {
super(convertOldContainerParams(params));
}
}

export const ContainerComp = withExposingConfigs(ContainerTmpComp, [
NameConfigHidden,
]);

type ContainerDataType = ToDataType<ContainerChildren<{}>>;

export function defaultContainerData(
compName: string,
nameGenerator: NameGenerator
): ContainerDataType {
return {
container: {
header: toSimpleContainerData([
{
item: {
compType: "text",
name: nameGenerator.genItemName("containerTitle"),
comp: {
text: "### " + trans("container.title"),
},
},
layoutItem: {
i: "",
h: 5,
w: 24,
x: 0,
y: 0,
},
},
]),
},
};
}
Loading