Skip to content

Commit 1680f5f

Browse files
committed
refactor: add new pl-toggle-info component
1 parent 6ba3c3e commit 1680f5f

File tree

4 files changed

+62
-7
lines changed

4 files changed

+62
-7
lines changed

packages/uikit-workshop/src/html/partials/controls.html

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,7 @@
6161

6262
<ul class="pl-c-tools__list pl-js-acc-panel">
6363
<li class="pl-c-tools__item">
64-
<button class="pl-c-tools__action pl-js-pattern-info-toggle">Show Pattern Info</button>
65-
<!-- WIP - commenting out for now -->
66-
<!-- <pl-info-toggle></pl-info-toggle> -->
64+
<pl-toggle-info></pl-toggle-info>
6765
</li>
6866
<li class="pl-c-tools__item">
6967
<pl-toggle-layout text="Switch Layout"><pl-toggle-layout>
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import { define, props } from 'skatejs';
2+
import { h } from 'preact';
3+
4+
import { store } from '../../store.js'; // connect to the Redux store.
5+
import { updateDrawerState } from '../../actions/app.js'; // redux actions
6+
import { BaseComponent } from '../base-component.js';
7+
8+
@define
9+
class InfoToggle extends BaseComponent {
10+
static is = 'pl-toggle-info';
11+
12+
constructor(self) {
13+
self = super(self);
14+
return self;
15+
}
16+
17+
static props = {
18+
_drawerOpened: props.boolean,
19+
};
20+
21+
_stateChanged(state) {
22+
this._drawerOpened = state.app.drawerOpened;
23+
this.isViewallPage = state.app.isViewallPage;
24+
}
25+
26+
render({ _drawerOpened, isViewallPage }) {
27+
return (
28+
<button
29+
class="pl-c-tools__action"
30+
onClick={_ => store.dispatch(updateDrawerState(!_drawerOpened))}
31+
>
32+
{_drawerOpened
33+
? `Hide ${isViewallPage ? 'all ' : ''}Pattern Info`
34+
: `Show ${isViewallPage ? 'all ' : ''}Pattern Info`}
35+
</button>
36+
);
37+
}
38+
}
39+
40+
export { InfoToggle };
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
@import '../../../sass/scss/core.scss';
2+
3+
pl-toggle-info {
4+
display: flex;
5+
align-self: center;
6+
justify-content: center;
7+
align-items: center;
8+
z-index: 10;
9+
width: 100%;
10+
cursor: pointer;
11+
}
12+
13+
.pl-c-toggle-info,
14+
.pl-c-toggle-info__action {
15+
width: 100%;
16+
}

packages/uikit-workshop/src/scripts/patternlab-viewer.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
import { loadPolyfills } from './utils/polyfills';
22

33
loadPolyfills.then(res => {
4-
import(/* webpackMode: 'eager', webpackChunkName: 'pl-layout' */ './components/pl-layout/pl-layout').then(
4+
import(/* webpackMode: 'lazy', webpackChunkName: 'pl-layout' */ './components/pl-layout/pl-layout').then(
55
() => {
66
// this ensures that the old-school way the styleguide JS binds to the page isn't thrown off by the <pl-layout> component rendering -- temp workaround till the logic in styleguide.js gets broken down and refactored.
77
import(/* webpackMode: 'lazy', webpackChunkName: 'pl-styleguide' */ './components/styleguide');
88
import(/* webpackMode: 'lazy', webpackChunkName: 'pl-modal-viewer' */ './components/modal-viewer');
99
}
1010
);
11-
import(/* webpackMode: 'eager', webpackChunkName: 'pl-toggle-theme' */ './components/pl-toggle-theme/pl-toggle-theme');
12-
import(/* webpackMode: 'eager', webpackChunkName: 'pl-toggle-layout' */ './components/pl-toggle-layout/pl-toggle-layout');
13-
import(/* webpackMode: 'eager', webpackChunkName: 'pl-search' */ './components/pl-search/pl-search');
11+
import(/* webpackMode: 'lazy', webpackChunkName: 'pl-search' */ './components/pl-search/pl-search');
12+
import(/* webpackMode: 'lazy', webpackChunkName: 'pl-toggle-info' */ './components/pl-toggle-info/pl-toggle-info');
13+
import(/* webpackMode: 'lazy', webpackChunkName: 'pl-toggle-layout' */ './components/pl-toggle-layout/pl-toggle-layout');
14+
import(/* webpackMode: 'lazy', webpackChunkName: 'pl-toggle-theme' */ './components/pl-toggle-theme/pl-toggle-theme');
1415
});
1516

1617
import './components/panels';

0 commit comments

Comments
 (0)