Skip to content

Commit

Permalink
feat(uploader): rework angular default props
Browse files Browse the repository at this point in the history
  • Loading branch information
gcornut authored and pidupuis committed Nov 6, 2019
1 parent f40773a commit 14398ed
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 29 deletions.
6 changes: 6 additions & 0 deletions demo/angularjs/components/uploader/doc.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# Uploader

## Default

<demo-block component="uploader" partial="default"></demo-block>

## Circle

<demo-block component="uploader" partial="circle"></demo-block>
8 changes: 8 additions & 0 deletions demo/angularjs/components/uploader/partials/circle.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<lumx-uploader
lumx-aspect-ratio="square"
lumx-icon="{{ vm.icons.mdiImagePlus }}"
lumx-label="Add profile picture"
lumx-size="xl"
lumx-theme="{{ demoBlock.theme }}"
lumx-variant="circle"
></lumx-uploader>
3 changes: 0 additions & 3 deletions demo/angularjs/components/uploader/partials/default.html
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
<lumx-uploader
lumx-aspect-ratio="square"
lumx-icon="{{ vm.icons.mdiImagePlus }}"
lumx-label="Add profile picture"
lumx-size="xl"
lumx-theme="{{ demoBlock.theme }}"
lumx-variant="circle"
></lumx-uploader>
40 changes: 15 additions & 25 deletions src/components/uploader/angularjs/uploader_directive.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ function UploaderController() {
*/
const _DEFAULT_PROPS = {
aspectRatio: 'horizontal',
size: 'xl',
theme: 'light',
variant: 'squared',
};
Expand All @@ -42,31 +43,20 @@ function UploaderController() {
* @return {Array} The list of button classes.
*/
function getClasses() {
const classes = [];

if (angular.isDefined(lumx.aspectRatio) && lumx.aspectRatio) {
classes.push(`${CSS_PREFIX}-uploader--aspect-ratio-${lumx.aspectRatio}`);
} else {
classes.push(`${CSS_PREFIX}-uploader--aspect-ratio-${_DEFAULT_PROPS.aspectRatio}`);
}

if (angular.isDefined(lumx.size) && lumx.size) {
classes.push(`${CSS_PREFIX}-uploader--size-${lumx.size}`);
}

if (angular.isDefined(lumx.theme) && lumx.theme) {
classes.push(`${CSS_PREFIX}-uploader--theme-${lumx.theme}`);
} else {
classes.push(`${CSS_PREFIX}-uploader--theme-${_DEFAULT_PROPS.theme}`);
}

if (angular.isDefined(lumx.variant) && lumx.variant) {
classes.push(`${CSS_PREFIX}-uploader--variant-${lumx.variant}`);
} else {
classes.push(`${CSS_PREFIX}-uploader--variant-${_DEFAULT_PROPS.variant}`);
}

return classes;
const aspectRatio = lumx.aspectRatio ? lumx.aspectRatio : _DEFAULT_PROPS.aspectRatio;
const size = lumx.size ? lumx.size : _DEFAULT_PROPS.size;
const theme = lumx.theme ? lumx.theme : _DEFAULT_PROPS.theme;
const variant = lumx.variant ? lumx.variant : _DEFAULT_PROPS.variant;

// Adjust to square aspect ratio when using circle variants.
const adjustedAspectRatio = variant === 'circle' ? 'square' : aspectRatio;

return [
`${CSS_PREFIX}-uploader--aspect-ratio-${adjustedAspectRatio}`,
`${CSS_PREFIX}-uploader--size-${size}`,
`${CSS_PREFIX}-uploader--theme-${theme}`,
`${CSS_PREFIX}-uploader--variant-${variant}`,
];
}

/////////////////////////////
Expand Down
2 changes: 1 addition & 1 deletion src/components/uploader/react/Uploader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ const Uploader: React.FC<UploaderProps> = (props: UploaderProps): ReactElement =
...forwardedProps
} = props;

// Square aspect ratio for circle variants.
// Adjust to square aspect ratio when using circle variants.
const adjustedAspectRatio = variant === UploaderVariant.circle ? AspectRatio.square : aspectRatio;

return (
Expand Down

0 comments on commit 14398ed

Please sign in to comment.