diff --git a/.gitignore b/.gitignore index fb71fd6ea84ecdb7ab7f05dcb9391b705376c0c7..cfb2a61c90f774a8ee794010bfeeaba0f288fad4 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,6 @@ dist/html/* # Files index.html -config.php +config.pug issues.md oidc-client-preprod-config.json diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..2fc30ec3fcb961cbb2e8ca522e91407e26c9a74a --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +default: install + +config.pug: + cp config-sample.pug config.pug + +dist/css/hd-app.css: src/scss/main.scss + npx grunt sass + +install: + git submodule update --init --recursive + npm install + +build: config.pug + npx grunt sass + npx pug --pretty -p index.pug < index.pug > index.html + +serve: dist/css/hd-app.css + php -S 127.0.0.1:8080 router.php + + +.PHONY: default install build serve diff --git a/README.md b/README.md index 3b36a27e02ea3f37da2f701f2f94e3266fb16dab..3258dd3a95c07f82ec5fbf502b0a3a515cd37ef8 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,19 @@ +# HD app HD app is the magic tool that allows the Happy Dev network to thrive in a decentralized way. ## Install - * `git clone --recurse-submodules https://git.happy-dev.fr/happy-dev/hd-app.git` - * `cd hd-app` - * `cp config-sample.php config.php` - * Edit `config.php` to suit your own setup - * `npm install -g grunt-cli` - * `npm install` - -## Compile SASS - * `grunt watch` + +clone then: + +* `make install` + +## Build + +Compile sass & pug + +* `make build` + +## Run server + +require PHP +* `make serve` diff --git a/config-sample.php b/config-sample.php deleted file mode 100644 index 9e8c1d0e9efd95a81072d3109e49622dfb49638e..0000000000000000000000000000000000000000 --- a/config-sample.php +++ /dev/null @@ -1,8 +0,0 @@ -<?php - $dn = getenv("DN");// Domain Name of the app - $sdn = getenv("SDN");// Server Domain Name - - if ($dn === NULL) { - $dn = 'http://hd-app.local'; - $sdn = 'http://localhost:8000'; - } diff --git a/config-sample.pug b/config-sample.pug new file mode 100644 index 0000000000000000000000000000000000000000..1a30c0ff4f4418a76db7431feef6404df880ca11 --- /dev/null +++ b/config-sample.pug @@ -0,0 +1,3 @@ +- var dn = 'http://127.0.0.1:8080' +- var sdn = 'http://127.0.0.1:8000' +- v = Math.random() \ No newline at end of file diff --git a/index.php b/index.php deleted file mode 100644 index 6585d4b6388d8100ba580e9a06343b9e4348e5d5..0000000000000000000000000000000000000000 --- a/index.php +++ /dev/null @@ -1,74 +0,0 @@ -<?php - // Some useful variables - $v = rand();// Used to avoid abusive caching by the browser - require_once("config.php");// Use "config-sample.php" to create your own -?> -<!DOCTYPE html> -<html lang="fr"> - <head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta http-equiv="X-UA-Compatible" content="ie=edge"> - - <title>Happy Dev App</title> - - <?php - // Prod/Dev setup - if (in_array($dn, array('https://app.happy-dev.fr', 'https://staging-app.happy-dev.fr'))) { - require_once("src/html/dependencies-prod.php"); - } else { - require_once("src/html/dependencies-dev.php"); - } - ?> - </head> - - <body> - <?php require_once('src/html/menu.html'); ?> - - <main id="mainContainer" class="container-fluid"> - <?php require_once('src/html/dashboard.html'); ?> - <?php require_once('src/html/members.html'); ?> - <?php require_once('src/html/member.php'); ?> - <?php require_once('src/html/projects.html'); ?> - <?php require_once('src/html/project.php'); ?> - <?php require_once('src/html/client-creation.html'); ?> - <?php require_once('src/html/channels.html'); ?> - <?php require_once('src/html/channel.php'); ?> - <?php require_once('src/html/search.html'); ?> - </main> - - <sib-chat - id="chat-singleton" - data-authentication="login" - data-auto-login="true" - data-bosh-service-url="https://jabber.happy-dev.fr/http-bind/" - data-debug="false" - data-locales-url="en" - bind-resources - ></sib-chat> - - <script> - // Move the chat singleton to the right view on "page load" - window.onload = function() { - if (window.location.pathname.indexOf("-chat") !== -1) { - var chatSingleton = document.querySelector("#chat-singleton"); - var pathnameParts = window.location.pathname.split("/"); - var viewName = pathnameParts[pathnameParts.length - 1]; - var view = document.getElementById(viewName); - - view.appendChild(chatSingleton); - chatSingleton.dataset.src = view.dataset.src; - } - } - - // Move the chat singleton to the right view on "navigate" - window.addEventListener('navigate', event => { - var chatSingleton = document.querySelector("#chat-singleton"); - var view = document.getElementById(event.detail.route); - - view.querySelector(".chat-view").appendChild(chatSingleton); - chatSingleton.dataset.src = view.dataset.src; - }); - </script> - </body> -</html> diff --git a/index.pug b/index.pug new file mode 100644 index 0000000000000000000000000000000000000000..560bc2dfc788f34da93e5368c2b7e3b94a2868ba --- /dev/null +++ b/index.pug @@ -0,0 +1,48 @@ +<!DOCTYPE html> +include config.pug +html(lang='fr') + head + meta(charset='UTF-8') + meta(name='viewport', content='width=device-width, initial-scale=1.0') + meta(http-equiv='X-UA-Compatible', content='ie=edge') + title Happy Dev App + //- Prod/Dev setup + if (['https://app.happy-dev.fr', 'https://staging-app.happy-dev.fr'].includes(dn)) + include src/html/dependencies-prod.pug + else + include src/html/dependencies-dev.pug + body + include src/html/menu.pug + main#mainContainer.container-fluid + include src/html/dashboard.pug + include src/html/members.pug + include src/html/member.pug + include src/html/projects.pug + include src/html/project.pug + include src/html/client-creation.pug + include src/html/channels.pug + include src/html/channel.pug + include src/html/search.pug + sib-chat#chat-singleton(data-authentication='login', data-auto-login='true', data-bosh-service-url='https://jabber.happy-dev.fr/http-bind/', data-debug='false', data-locales-url='en', bind-resources='') + script. + // Move the chat singleton to the right view on "page load" + window.onload = function() { + if (window.location.pathname.indexOf("-chat") !== -1) { + var chatSingleton = document.querySelector("#chat-singleton"); + var pathnameParts = window.location.pathname.split("/"); + var viewName = pathnameParts[pathnameParts.length - 1]; + var view = document.getElementById(viewName); + + view.appendChild(chatSingleton); + chatSingleton.dataset.src = view.dataset.src; + } + } + + // Move the chat singleton to the right view on "navigate" + window.addEventListener('navigate', event => { + var chatSingleton = document.querySelector("#chat-singleton"); + var view = document.getElementById(event.detail.route); + + view.querySelector(".chat-view").appendChild(chatSingleton); + chatSingleton.dataset.src = view.dataset.src; + }); diff --git a/oidc-client-config.json b/oidc-client-config.json index 7f4d9dda01c824fa1db831bca5f933ca637b3d0c..6141b66c77ba4449b337c7885b8aec12926ee757 100644 --- a/oidc-client-config.json +++ b/oidc-client-config.json @@ -1,10 +1,10 @@ { "authority": "https://test-paris.happy-dev.fr/openid/", "client_id": "125356", - "redirect_uri": "http://hd-app.local", + "redirect_uri": "http://127.0.0.1:8080", "response_type": "id_token token", "scope": "openid profile email", "automaticSilentRenew": true, - "silent_redirect_uri": "http://hd-app.local", + "silent_redirect_uri": "http://127.0.0.1:8080", "loadUserInfo": true } diff --git a/router.php b/router.php new file mode 100644 index 0000000000000000000000000000000000000000..0042b794fe592a61ed73d2e7b65b0e1faefc5cbc --- /dev/null +++ b/router.php @@ -0,0 +1,8 @@ +<?php + +if (PHP_SAPI == 'cli-server') { + $url = parse_url($_SERVER['REQUEST_URI']); + $file = __DIR__ . $url['path']; + if (is_file($file)) return false; +} +include "index.html"; \ No newline at end of file diff --git a/src/html/calendar.html b/src/html/calendar.html deleted file mode 100644 index a5cfd4deb3f2478bc6626ea217fa0f8166388684..0000000000000000000000000000000000000000 --- a/src/html/calendar.html +++ /dev/null @@ -1,4 +0,0 @@ -<div id="calendar" style="display: none"> - <h1 class="page-title">Agenda</h1> - <ldp-calendar data-src="http://lucky.alwaysdata.net/api/events/" style="display: block; height: 300px; width: 500px;"></ldp-calendar> -</div> diff --git a/src/html/calendar.pug b/src/html/calendar.pug new file mode 100644 index 0000000000000000000000000000000000000000..bc172f314a6120bef6e40b9195b57e53824e49c0 --- /dev/null +++ b/src/html/calendar.pug @@ -0,0 +1,6 @@ +#calendar(style='display: none') + h1.page-title Agenda + ldp-calendar( + data-src='http://lucky.alwaysdata.net/api/events/', + style='display: block; height: 300px; width: 500px;' + ) diff --git a/src/html/channel-chat.html b/src/html/channel-chat.html deleted file mode 100644 index e6d99da5071fc011a251e846b8242bcb1b6aded8..0000000000000000000000000000000000000000 --- a/src/html/channel-chat.html +++ /dev/null @@ -1,2 +0,0 @@ -<div id="channel-chat" class="chat-view" style="display: none" bind-resources></div> - diff --git a/src/html/channel-chat.pug b/src/html/channel-chat.pug new file mode 100644 index 0000000000000000000000000000000000000000..d892ccf2586e9967d70d4d487a9f43909d0f7877 --- /dev/null +++ b/src/html/channel-chat.pug @@ -0,0 +1 @@ +#channel-chat.chat-view(style='display: none', bind-resources='') diff --git a/src/html/channel-create.html b/src/html/channel-create.html deleted file mode 100644 index 5364a419258e93a021e28753aabc0b6e970eb13d..0000000000000000000000000000000000000000 --- a/src/html/channel-create.html +++ /dev/null @@ -1,9 +0,0 @@ -<div id="channel-create" style="display: none"> - <sib-form - data-src="<?php echo $sdn; ?>/channels/" - range-owner="<?php echo $sdn; ?>/members/" - widget-members="sib-form-multiple-dropdown" - range-members="<?php echo $sdn; ?>/members/" - ></sib-form> -</div> - diff --git a/src/html/channel-create.pug b/src/html/channel-create.pug new file mode 100644 index 0000000000000000000000000000000000000000..5e7b3035c1b9e2c921985655abd3d1795af2aa58 --- /dev/null +++ b/src/html/channel-create.pug @@ -0,0 +1,7 @@ +#channel-create(style='display: none') + sib-form( + data-src=`${sdn}/channels/`, + range-owner=`${sdn}/members/`, + widget-members='sib-form-multiple-dropdown', + range-members=`${sdn}/members/` + ) diff --git a/src/html/channel-edit.html b/src/html/channel-edit.html deleted file mode 100644 index b3c66e18a5b7fb7c42fff446470649a5bf913b9d..0000000000000000000000000000000000000000 --- a/src/html/channel-edit.html +++ /dev/null @@ -1,8 +0,0 @@ -<div id="channel-edit" style="display: none"> - <sib-form - range-owner="<?php echo $sdn; ?>/members/" - widget-members="sib-form-multiple-dropdown" - range-members="<?php echo $sdn; ?>/members/" - bind-resources - ></sib-form> -</div> diff --git a/src/html/channel-edit.pug b/src/html/channel-edit.pug new file mode 100644 index 0000000000000000000000000000000000000000..9244226d18703f9dc719295c83c6fea1079e0368 --- /dev/null +++ b/src/html/channel-edit.pug @@ -0,0 +1,7 @@ +#channel-edit(style='display: none') + sib-form( + range-owner=`${sdn}/members/`, + widget-members='sib-form-multiple-dropdown', + range-members=`${sdn}/members/`, + bind-resources='' + ) diff --git a/src/html/channel-profile.html b/src/html/channel-profile.pug similarity index 53% rename from src/html/channel-profile.html rename to src/html/channel-profile.pug index 2186fc5ce937f391f03e50c38509b717ef107a53..bd47756e71b7442575707fb14446ba68d32e2460 100644 --- a/src/html/channel-profile.html +++ b/src/html/channel-profile.pug @@ -1,4 +1,4 @@ -<script> +script. document.addEventListener("WebComponentsReady", function(event) { class HDAppMember extends SIBWidget { get template() { @@ -18,21 +18,19 @@ } customElements.define("hdapp-member", HDAppMember); }); -</script> -<div id="channel-profile" style="display: none"> - <sib-display - data-fields="name, description, owner" - widget-owner="hdapp-member" - bind-resources - ></sib-display> +#channel-profile(style='display: none') + sib-display( + data-fields='name, description, owner', + widget-owner='hdapp-member', + bind-resources='' + ) + h2.section.skills Participants + sib-display( + id-suffix='members', + data-fields='avatar, user', + widget-avatar='sib-display-img', + widget-user='hdapp-userinfo', + bind-resources='' + ) - <h2 class="section skills">Participants</h2> - <sib-display - id-suffix="members" - data-fields="avatar, user" - widget-avatar="sib-display-img" - widget-user="hdapp-userinfo" - bind-resources - ></sib-display> -</div> diff --git a/src/html/channel.php b/src/html/channel.php deleted file mode 100644 index 612396f04e3cdeb75c2a2b1505aba08381806ae8..0000000000000000000000000000000000000000 --- a/src/html/channel.php +++ /dev/null @@ -1,23 +0,0 @@ -<div id="channel" style="display: none"> - <sib-router id="channel-router" default-route="channel-profile"> - <sib-route name="channel-chat"> - <button>Chat</button> - </sib-route> - <sib-route name="channel-profile"> - <button>Info</button> - </sib-route> - <sib-route name="channel-edit"> - <button>Éditer</button> - </sib-route> - <sib-route name="channel-create"> - <button>Nouveau</button> - </sib-route> - </sib-router> - - <div id="network-views-container"> - <?php require_once('channel-chat.html'); ?> - <?php require_once('channel-profile.html'); ?> - <?php require_once('channel-edit.html'); ?> - <?php require_once('channel-create.html'); ?> - </div> -</div> diff --git a/src/html/channel.pug b/src/html/channel.pug new file mode 100644 index 0000000000000000000000000000000000000000..728f3e8a1e2a4b9ee5c3eb9f87b92d8ad4fcca5c --- /dev/null +++ b/src/html/channel.pug @@ -0,0 +1,15 @@ +#channel(style='display: none') + sib-router#channel-router(default-route='channel-profile') + sib-route(name='channel-chat') + button Chat + sib-route(name='channel-profile') + button Info + sib-route(name='channel-edit') + button Éditer + sib-route(name='channel-create') + button Nouveau + #network-views-container + include channel-chat.pug + include channel-profile.pug + include channel-edit.pug + include channel-create.pug diff --git a/src/html/channels.html b/src/html/channels.html deleted file mode 100644 index 3afdcc1d00d336d039c1813b9c92c5345e737c36..0000000000000000000000000000000000000000 --- a/src/html/channels.html +++ /dev/null @@ -1,9 +0,0 @@ -<div id="channels" style="display: none"> - <sib-display - id="channels-list" - data-src="<?php echo $sdn; ?>/channels/" - data-fields="name, description" - search-fields="name, description" - next="channel" - ></sib-display> -</div> diff --git a/src/html/channels.pug b/src/html/channels.pug new file mode 100644 index 0000000000000000000000000000000000000000..4a46b1945fe61755db05530fe3a12881b71cf290 --- /dev/null +++ b/src/html/channels.pug @@ -0,0 +1,7 @@ +#channels(style='display: none') + sib-display#channels-list( + data-src=`${sdn}/channels/`, + data-fields='name, description', + search-fields='name, description', + next='channel' + ) diff --git a/src/html/client-creation.html b/src/html/client-creation.html deleted file mode 100644 index 21edcff9855700c1b9fda2071d399e5093f8b9cb..0000000000000000000000000000000000000000 --- a/src/html/client-creation.html +++ /dev/null @@ -1,7 +0,0 @@ -<div id="client-create" style="display: none"> - <sib-form - data-src="<?php echo $sdn; ?>/clients/" - data-fields="name, address, logo" - ></sib-form> -</div> - diff --git a/src/html/client-creation.pug b/src/html/client-creation.pug new file mode 100644 index 0000000000000000000000000000000000000000..d0235048903f5ea782b0a63a0dc4389da2a2eaca --- /dev/null +++ b/src/html/client-creation.pug @@ -0,0 +1,5 @@ +#client-create(style='display: none') + sib-form( + data-src=`${sdn}/clients/`, + data-fields='name, address, logo' + ) diff --git a/src/html/dashboard.html b/src/html/dashboard.html deleted file mode 100644 index 37ffb96e3fc5cefd590b4911599323da2d440fe3..0000000000000000000000000000000000000000 --- a/src/html/dashboard.html +++ /dev/null @@ -1,26 +0,0 @@ -<div id="dashboard" style="display: none"> - <!--<form>--> - <!--<div class="form-group">--> - <!--<input type="text" class="form-control form-control-sm" id="search-input" placeholder="Recherche" aria-describedby="search-help" autofocus />--> - <!--<small id="search-help" class="form-text text-muted">* parmi les membres, les projets et les groupes de discussion</small>--> - <!--</div>--> - <!--</form>--> - - <div class="list-condensed"> - <ldp-display - id="to-user-profile" - data-src="<?php echo $sdn; ?>/members/1/" - set-name="firstname, name-separator, lastname" - value-name-separator=" " - data-fields="avatar, name" - widget-avatar="ldp-display-img" - ></ldp-display> - </div> - - <script> - document.querySelector("#to-user-profile").addEventListener("click", () => { - document.getElementById("navbar-router").navigate("member"); - document.getElementById("member-page-router").navigate("member-detail"); - }); - </script> -</div> diff --git a/src/html/dashboard.pug b/src/html/dashboard.pug new file mode 100644 index 0000000000000000000000000000000000000000..61a18a3a7b61c88cbe7a8838cf23c789b59992f8 --- /dev/null +++ b/src/html/dashboard.pug @@ -0,0 +1,21 @@ +#dashboard(style='display: none') + //- + <form> + <div class="form-group"> + <input type="text" class="form-control form-control-sm" id="search-input" placeholder="Recherche" aria-describedby="search-help" autofocus /> + <small id="search-help" class="form-text text-muted">* parmi les membres, les projets et les groupes de discussion</small> + </div> + </form> + .list-condensed + ldp-display#to-user-profile( + data-src=`${sdn}/members/1/`, + set-name='firstname, name-separator, lastname', + value-name-separator=' ', + data-fields='avatar, name', + widget-avatar='ldp-display-img' + ) + script. + document.querySelector("#to-user-profile").addEventListener("click", () => { + document.getElementById("navbar-router").navigate("member"); + document.getElementById("member-page-router").navigate("member-detail"); + }); diff --git a/src/html/dependencies-dev.php b/src/html/dependencies-dev.php deleted file mode 100644 index 1cefc27c1072db6554c5a4d480fca369735a404b..0000000000000000000000000000000000000000 --- a/src/html/dependencies-dev.php +++ /dev/null @@ -1,19 +0,0 @@ - <!-- Stylesheets --> - <link rel="stylesheet" href="<?php echo $dn; ?>/node_modules/bootstrap/dist/css/bootstrap.min.css" /> - <link rel="stylesheet" href="<?php echo $dn; ?>/node_modules/cropper/dist/cropper.min.css" /> - <link rel="stylesheet" href="<?php echo $dn; ?>/node_modules/font-awesome/css/font-awesome.min.css" /> - <link rel="stylesheet" href="<?php echo $dn; ?>/dist/css/hd-app.css?v=<?php echo $v ?>" /> - - <!-- Javascript --> - <script type="text/javascript" src="<?php echo $dn; ?>/node_modules/jquery/dist/jquery.min.js"></script> - <script type="text/javascript" src="<?php echo $dn; ?>/node_modules/bootstrap/dist/js/bootstrap.min.js"></script> - <script type="text/javascript" src="<?php echo $dn; ?>/node_modules/cropper/dist/cropper.min.js"></script> - <script type="text/javascript" src="<?php echo $dn; ?>/dist/lib/webcomponentsjs/webcomponents-loader.js"></script> - <script type="text/javascript" src="<?php echo $dn; ?>/src/js/hd-app.js?v=<?php echo $v ?>"></script> - <script src="<?php echo $dn; ?>/dist/lib/sib-chat/3rdparty/sib-oidc-client.js?v=<?php echo $v ?>"></script> - - <!-- Web components --> - <link rel="import" href="<?php echo $dn; ?>/dist/lib/sib-core/sib-display.html?v=<?php echo $v ?>" /> - <link rel="import" href="<?php echo $dn; ?>/dist/lib/sib-router/sib-router.html?v=<?php echo $v ?>" /> - <link rel="import" href="<?php echo $dn; ?>/dist/lib/sib-chat/sib-chat.html"> - diff --git a/src/html/dependencies-dev.pug b/src/html/dependencies-dev.pug new file mode 100644 index 0000000000000000000000000000000000000000..595fd6be0b14a814371f6e4732261715c0ef3b01 --- /dev/null +++ b/src/html/dependencies-dev.pug @@ -0,0 +1,16 @@ +// Stylesheets +link(rel='stylesheet', href=`${dn}/node_modules/bootstrap/dist/css/bootstrap.min.css`) +link(rel='stylesheet', href=`${dn}/node_modules/cropper/dist/cropper.min.css`) +link(rel='stylesheet', href=`${dn}/node_modules/font-awesome/css/font-awesome.min.css`) +link(rel='stylesheet', href=`${dn}/dist/css/hd-app.css?v=${v}`) +// Javascript +script(src=`${dn}/node_modules/jquery/dist/jquery.min.js`) +script(src=`${dn}/node_modules/bootstrap/dist/js/bootstrap.min.js`) +script(src=`${dn}/node_modules/cropper/dist/cropper.min.js`) +script(src=`${dn}/dist/lib/webcomponentsjs/webcomponents-loader.js`) +script(src=`${dn}/src/js/hd-app.js?v=${v}`) +script(src=`${dn}/dist/lib/sib-chat/3rdparty/sib-oidc-client.js?v=${v}`) +// Web components +link(rel='import', href=`${dn}/dist/lib/sib-core/sib-display.html?v=${v}`) +link(rel='import', href=`${dn}/dist/lib/sib-router/sib-router.html?v=${v}`) +link(rel='import', href=`${dn}/dist/lib/sib-chat/sib-chat.html`) diff --git a/src/html/dependencies-prod.php b/src/html/dependencies-prod.php deleted file mode 100644 index d3d1db7d7543229172cab38227d7060515f53a34..0000000000000000000000000000000000000000 --- a/src/html/dependencies-prod.php +++ /dev/null @@ -1,19 +0,0 @@ -<!-- Stylesheets --> -<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4" crossorigin="anonymous"> -<link href="https://cdn.bootcss.com/cropper/4.0.0/cropper.min.css" rel="stylesheet"> -<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> -<link rel="stylesheet" href="<?php echo $dn; ?>/dist/css/hd-app.css?v=<?php echo $v ?>" /> - -<!-- Javascript --> -<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js" integrity="sha384-cs/chFZiN24E4KMATLdqdvsezGxaGsi4hLGOzlXwp5UZB1LY//20VyM2taTB4QvJ" crossorigin="anonymous"></script> -<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js" integrity="sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt/6v9KI65qnm" crossorigin="anonymous"></script> -<script src="https://cdn.bootcss.com/cropper/4.0.0/cropper.min.js"></script> -<script src="https://cdnjs.cloudflare.com/ajax/libs/webcomponentsjs/1.2.0/webcomponents-loader.js" integrity="sha256-fUVqCtpScUF69qkFkeuHmcShr2N2UleRQJhRG4etHds=" crossorigin="anonymous"></script> -<script src="<?php echo $dn; ?>/src/js/hd-app.js?v=<?php echo $v ?>"></script> -<script src="<?php echo $cdn; ?>/sib-chat/3rdparty/sib-oidc-client.js?v=<?php echo $v ?>"></script> - -<!-- Web components --> -<link rel="import" href="<?php echo $cdn; ?>/sib-core/sib-display.html?v=<?php echo $v ?>" /> -<link rel="import" href="<?php echo $cdn; ?>/sib-router/sib-router.html?v=<?php echo $v ?>" /> -<link rel="import" href="<?php echo $cdn; ?>/sib-chat/sib-chat.html"> diff --git a/src/html/dependencies-prod.pug b/src/html/dependencies-prod.pug new file mode 100644 index 0000000000000000000000000000000000000000..312ac4e997f0c1b0af5887e63d612b8ad37f0eef --- /dev/null +++ b/src/html/dependencies-prod.pug @@ -0,0 +1,34 @@ +// Stylesheets +link(rel='stylesheet', href='https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css', integrity='sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4', crossorigin='anonymous') +link(href='https://cdn.bootcss.com/cropper/4.0.0/cropper.min.css', rel='stylesheet') +link(rel='stylesheet', href='https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css') +link(rel='stylesheet', href=`${dn}/dist/css/hd-app.css?v=${v}`) + +// Javascript +script( + src='https://code.jquery.com/jquery-3.3.1.slim.min.js', + integrity='sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo', + crossorigin='anonymous') +script( + src='https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js', + integrity='sha384-cs/chFZiN24E4KMATLdqdvsezGxaGsi4hLGOzlXwp5UZB1LY//20VyM2taTB4QvJ', + crossorigin='anonymous') +script( + src='https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js', + integrity='sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt/6v9KI65qnm', + crossorigin='anonymous') +script( + src='https://cdn.bootcss.com/cropper/4.0.0/cropper.min.js') +script( + src='https://cdnjs.cloudflare.com/ajax/libs/webcomponentsjs/1.2.0/webcomponents-loader.js', + integrity='sha256-fUVqCtpScUF69qkFkeuHmcShr2N2UleRQJhRG4etHds=', + crossorigin='anonymous') +script( + src=`${dn} ?>/src/js/hd-app.js?v=${v}`) +script( + src=`${cdn} ?>/sib-chat/3rdparty/sib-oidc-client.js?v=${v}`) + +// Web components +link(rel='import', href=`${cdn} ?>/sib-core/sib-display.html?v=${v}`) +link(rel='import', href=`${cdn} ?>/sib-router/sib-router.html?v=${v}`) +link(rel='import', href=`${cdn} ?>/sib-chat/sib-chat.html`) diff --git a/src/html/drive.html b/src/html/drive.html deleted file mode 100644 index efcbb4bad66753bed69d04ac6c807008e193a8db..0000000000000000000000000000000000000000 --- a/src/html/drive.html +++ /dev/null @@ -1,3 +0,0 @@ -<div id="drive" style="display: none"> - <h1 class="page-title">Drive</h1> -</div> diff --git a/src/html/drive.pug b/src/html/drive.pug new file mode 100644 index 0000000000000000000000000000000000000000..7c123259be4c34009b1abeb814fe4ab226d774b1 --- /dev/null +++ b/src/html/drive.pug @@ -0,0 +1,2 @@ +#drive(style='display: none') + h1.page-title Drive diff --git a/src/html/member-chat.html b/src/html/member-chat.html deleted file mode 100644 index 177f1ebb1d584feda9938791499a6561e728f4dd..0000000000000000000000000000000000000000 --- a/src/html/member-chat.html +++ /dev/null @@ -1 +0,0 @@ -<div id="member-chat" class="chat-view" style="display: none" bind-resources></div> diff --git a/src/html/member-chat.pug b/src/html/member-chat.pug new file mode 100644 index 0000000000000000000000000000000000000000..52afa4488a4ab91cd85253cf76f3b7062ce91fcf --- /dev/null +++ b/src/html/member-chat.pug @@ -0,0 +1 @@ +#member-chat.chat-view(style='display: none', bind-resources='') diff --git a/src/html/member-edit.html b/src/html/member-edit.pug similarity index 52% rename from src/html/member-edit.html rename to src/html/member-edit.pug index b4847081aaaa7799d97828272cd40b30bc36fbb7..83b1c5fe11afad19bab503ab18a1615245c79cd0 100644 --- a/src/html/member-edit.html +++ b/src/html/member-edit.pug @@ -1,51 +1,41 @@ -<script> - //class LDPFormImgUpload extends SIBWidget { - // get template() { - // return `<label for="${this.name}"><img id="${this.name}-preview" src="${this.value}"/></label> - // <input id="${this.name}" type="file" name="${this.name}" value="${this.value}" />`; - // } - - // render() { - // store.get(this.value).then( (value) => { - // this._value = value; - // this.innerHTML = this.template; - // }); - // } - //} - //customElements.define("ldp-form-img-upload", LDPFormImgUpload); - //widget-avatar="ldp-form-img-upload" -</script> - -<div id="member-edit" style="display: none"> - <label for="avatar-input" class="d-none"> - <img id="avatar-preview" src="" style="width: 100%;"/> - </label> - <input class="d-none" type="file" accept="image/*" id="avatar-input" name="avatar" value="" /> - - <sib-form - class="edit-form" - data-fields="user, avatar, bio, cell, jabberID, number, pseudo, skills, website" - widget-user="hdapp-usereditinfo" - range-cell="<?php echo $sdn; ?>/cells/" - widget-skills="sib-form-multiple-dropdown" - range-skills="<?php echo $sdn; ?>/skills/" - bind-resources - ></sib-form> -</div> - -<div id="crop-modal"> - <div class="crop-wrapper"> - <img id="crop-preview" src="" /> - </div> - - <div class="control-bar"> - <button id="cancel-img-cropping" class="btn btn-link">Annuler</button> - <i id="rotate-img" class="fa fa-undo" aria-hidden="true"></i> - <button id="crop-img" class="btn btn-link">Valider</button> - </div> -</div> +// script. + class LDPFormImgUpload extends SIBWidget { + get template() { + return `<label for="${this.name}"><img id="${this.name}-preview" src="${this.value}"/></label> + <input id="${this.name}" type="file" name="${this.name}" value="${this.value}" />`; + } -<script> + render() { + store.get(this.value).then( (value) => { + this._value = value; + this.innerHTML = this.template; + }); + } + } + customElements.define("ldp-form-img-upload", LDPFormImgUpload); + widget-avatar="ldp-form-img-upload" + +#member-edit(style='display: none') + label.d-none(for='avatar-input') + img#avatar-preview(src='', style='width: 100%;') + input#avatar-input.d-none(accept='image/*', name='avatar', value='', type='file') + sib-form.edit-form( + data-fields='user, avatar, bio, cell, jabberID, number, pseudo, skills, website', + widget-user='hdapp-usereditinfo', + range-cell=`${sdn}/cells/`, widget-skills='sib-form-multiple-dropdown', + range-skills=`${sdn}/skills/`, + bind-resources='' + ) +#crop-modal + .crop-wrapper + img#crop-preview(src='') + .control-bar + button#cancel-img-cropping.btn.btn-link Annuler + i#rotate-img.fa.fa-undo(aria-hidden='true') + button#crop-img.btn.btn-link Valider + + +script. // Constant declaration const avatarPreview = document.querySelector("#avatar-preview"); const avatarInput = document.querySelector("#avatar-input"); @@ -105,4 +95,3 @@ avatarPreview.src = $cropPreview.cropper("getCroppedCanvas").toDataURL() closeCropping(); }); -</script> diff --git a/src/html/member-profile.html b/src/html/member-profile.html deleted file mode 100644 index 6e97f4cd5694c32af401725050ffb83f73a5b96b..0000000000000000000000000000000000000000 --- a/src/html/member-profile.html +++ /dev/null @@ -1,13 +0,0 @@ -<div id="member-profile" style="display: none"> - <sib-display - id="member-info" - data-fields="avatar, user, before-pseudo, pseudo, bio, cell, number, roles, website, skills" - widget-avatar="sib-display-img" - widget-user="hdapp-userinfo" - widget-cell="hdapp-usercell" - widget-number="sib-display-tel" - widget-roles="sib-display-lookuplist" - widget-skills="sib-display-lookuplist" - bind-resources - ></sib-display> -</div> diff --git a/src/html/member-profile.pug b/src/html/member-profile.pug new file mode 100644 index 0000000000000000000000000000000000000000..11057ab9012f33a2590c29127d240fa98e3e2cac --- /dev/null +++ b/src/html/member-profile.pug @@ -0,0 +1,11 @@ +#member-profile(style='display: none') + sib-display#member-info( + data-fields='avatar, user, before-pseudo, pseudo, bio, cell, number, roles, website, skills', + widget-avatar='sib-display-img', + widget-user='hdapp-userinfo', + widget-cell='hdapp-usercell', + widget-number='sib-display-tel', + widget-roles='sib-display-lookuplist', + widget-skills='sib-display-lookuplist', + bind-resources='' + ) diff --git a/src/html/member.php b/src/html/member.php deleted file mode 100644 index b25db2b4fd671ead2d48028292332a60ab02b404..0000000000000000000000000000000000000000 --- a/src/html/member.php +++ /dev/null @@ -1,19 +0,0 @@ -<div id="member" style="display: none"> - <sib-router id="member-router" default-route="member-profile"> - <sib-route name="member-chat"> - <button>Chat</button> - </sib-route> - <sib-route name="member-profile"> - <button>Voir</button> - </sib-route> - <sib-route name="member-edit"> - <button>Éditer</button> - </sib-route> - </sib-router> - - <div id="member-views-container"> - <?php require_once('member-chat.html'); ?> - <?php require_once('member-profile.html'); ?> - <?php require_once('member-edit.html'); ?> - </div> -</div> diff --git a/src/html/member.pug b/src/html/member.pug new file mode 100644 index 0000000000000000000000000000000000000000..8b1d68c90f3109b01ec9f81c82a6847530cdca70 --- /dev/null +++ b/src/html/member.pug @@ -0,0 +1,12 @@ +#member(style='display: none') + sib-router#member-router(default-route='member-profile') + sib-route(name='member-chat') + button Chat + sib-route(name='member-profile') + button Voir + sib-route(name='member-edit') + button Éditer + #member-views-container + include member-chat.pug + include member-profile.pug + include member-edit.pug diff --git a/src/html/members.html b/src/html/members.pug similarity index 76% rename from src/html/members.html rename to src/html/members.pug index 553e833f07f16e888e024b642fe7a4707223d898..2ccdd30c0000d0b2da53381cfaf81c9e52dfac88 100644 --- a/src/html/members.html +++ b/src/html/members.pug @@ -1,4 +1,4 @@ -<script> +script. document.addEventListener("WebComponentsReady", function(event) { class HDAppUserInfo extends SIBDisplayLookupList { get parentElement() {return "div"} @@ -50,22 +50,20 @@ } customElements.define("hdapp-usercell", HDAppCell); }); -</script> -<div id="members" class="view" style="display: none"> - <sib-display - id="profiles-list" - data-src="<?php echo $sdn; ?>/members/" - data-fields="avatar, user, before-pseudo, pseudo, bio, cell, skills" - value-before-pseudo="@" - widget-avatar="sib-display-img" - widget-user="hdapp-userinfo" - widget-cell="hdapp-usercell" - widget-skills="sib-display-lookuplist" - set-searchset="user.first_name, user.last_name" - search-fields="searchset" - next="member" - ></sib-display> -</div> +#members.view(style='display: none') + sib-display#profiles-list( + data-src=`${sdn}/members/`, + data-fields='avatar, user, before-pseudo, pseudo, bio, cell, skills', + value-before-pseudo='@', + widget-avatar='sib-display-img', + widget-user='hdapp-userinfo', + widget-cell='hdapp-usercell', + widget-skills='sib-display-lookuplist', + set-searchset='user.first_name, user.last_name', + search-fields='searchset', + next='member' + ) + diff --git a/src/html/menu.html b/src/html/menu.html deleted file mode 100644 index b4f45f45f1fdbd65d9749cef7d994fedbb7de3e1..0000000000000000000000000000000000000000 --- a/src/html/menu.html +++ /dev/null @@ -1,37 +0,0 @@ -<nav class="navbar bg-white fixed-top border-bottom pb-0 d-md-flex" id="navbar"> - - <sib-router id="navbar-router" class="navbar-nav" default-route="members"> - <sib-route id="menu-title" class="nav-item" name="dashboard"> - HAPPY DEV - </sib-route> - - <div id="menu-items" class="col-7 col-md-7"> - <sib-route class="nav-item pb-2 active align-self-stretch text-center text-md-left" name="members"> - <i class="fa fa-users" aria-hidden="true"></i> - <span class="d-none d-md-inline">Membres</span> - </sib-route> - <sib-route class="d-none" name="member" id-prefix="<?php echo $sdn; ?>/members/"></sib-route> - - <sib-route class="nav-item pb-2 align-self-stretch text-center text-md-left" name="projects"> - <i class="fa fa-tasks" aria-hidden="true"></i> - <span class="d-none d-md-inline"> Projets</span> - </sib-route> - <sib-route class="d-none" name="project" id-prefix="<?php echo $sdn; ?>/projects/"></sib-route> - <sib-route name="client-create">New client</sib-route> - - <sib-route class="nav-item pb-2 align-self-stretch text-center text-md-left" name="channels"> - <i class="fa fa-comments" aria-hidden="true"></i> - <span class="d-none d-md-inline"> Network</span> - </sib-route> - <sib-route class="d-none" name="channel" id-prefix="<?php echo $sdn; ?>/channels/"></sib-route> - </div> - - <div class="col-2 col-md-1"></div> - </sib-router> - - <div id="search-bar"> - <input id="search-input" class="form-control" type="search" placeholder="ctrl + k"/> - <i id="search-icon" class="fa fa-search" aria-hidden="true"></i> - <i id="close-search-icon" class="fa fa-times" aria-hidden="true"></i> - </div> -</nav> diff --git a/src/html/menu.pug b/src/html/menu.pug new file mode 100644 index 0000000000000000000000000000000000000000..a374d7293559b45edc647120de186a99d5dd0ccd --- /dev/null +++ b/src/html/menu.pug @@ -0,0 +1,23 @@ +nav#navbar.navbar.bg-white.fixed-top.border-bottom.pb-0.d-md-flex + sib-router#navbar-router.navbar-nav(default-route='members') + sib-route#menu-title.nav-item(name='dashboard') + | HAPPY DEV + #menu-items.col-7.col-md-7 + sib-route.nav-item.pb-2.active.align-self-stretch.text-center.text-md-left(name='members') + i.fa.fa-users(aria-hidden='true') + span.d-none.d-md-inline Membres + sib-route.d-none(name='member', id-prefix=`${sdn}/members/`) + sib-route.nav-item.pb-2.align-self-stretch.text-center.text-md-left(name='projects') + i.fa.fa-tasks(aria-hidden='true') + span.d-none.d-md-inline Projets + sib-route.d-none(name='project', id-prefix=`${sdn}/projects/`) + sib-route(name='client-create') New client + sib-route.nav-item.pb-2.align-self-stretch.text-center.text-md-left(name='channels') + i.fa.fa-comments(aria-hidden='true') + span.d-none.d-md-inline Network + sib-route.d-none(name='channel', id-prefix=`${sdn}/channels/`) + .col-2.col-md-1 + #search-bar + input#search-input.form-control(placeholder='ctrl + k', type='search') + i#search-icon.fa.fa-search(aria-hidden='true') + i#close-search-icon.fa.fa-times(aria-hidden='true') diff --git a/src/html/project-chat.html b/src/html/project-chat.html deleted file mode 100644 index 08318133732c6d78aeea2f330f6c1eb0121fa4ea..0000000000000000000000000000000000000000 --- a/src/html/project-chat.html +++ /dev/null @@ -1 +0,0 @@ -<div id="project-chat" class="chat-view" style="display: none" bind-resources></div> diff --git a/src/html/project-chat.pug b/src/html/project-chat.pug new file mode 100644 index 0000000000000000000000000000000000000000..5d59065e7b30cc5f89477168fdc524f755d50e0c --- /dev/null +++ b/src/html/project-chat.pug @@ -0,0 +1 @@ +#project-chat.chat-view(style='display: none', bind-resources='') diff --git a/src/html/project-create.html b/src/html/project-create.html deleted file mode 100644 index 91396021c1abe31ae4d9b64f633401ef890833b4..0000000000000000000000000000000000000000 --- a/src/html/project-create.html +++ /dev/null @@ -1,8 +0,0 @@ -<div id="project-create" style="display: none"> - <sib-form - data-src="<?php echo $sdn; ?>/projects/" - range-client="<?php echo $sdn; ?>/clients/" - widget-team="sib-form-multiple-dropdown" - range-team="<?php echo $sdn; ?>/members/" - ></sib-form> -</div> diff --git a/src/html/project-create.pug b/src/html/project-create.pug new file mode 100644 index 0000000000000000000000000000000000000000..69a960746665b75b278ee937bf953b556070bb3a --- /dev/null +++ b/src/html/project-create.pug @@ -0,0 +1,7 @@ +#project-create(style='display: none') + sib-form( + data-src=`${sdn}/projects/`, + range-client=`${sdn}/clients/`, + widget-team='sib-form-multiple-dropdown', + range-team=`${sdn}/members/` + ) diff --git a/src/html/project-edit.html b/src/html/project-edit.html deleted file mode 100644 index c2471fc34a1ec4427d204a2a7896466d9137d514..0000000000000000000000000000000000000000 --- a/src/html/project-edit.html +++ /dev/null @@ -1,9 +0,0 @@ -<div id="project-edit" style="display: none"> - <sib-form - range-client="<?php echo $sdn; ?>/clients/" - widget-team="sib-form-multiple-dropdown" - range-team="<?php echo $sdn; ?>/members/" - bind-resources - ></sib-form> -</div> - diff --git a/src/html/project-edit.pug b/src/html/project-edit.pug new file mode 100644 index 0000000000000000000000000000000000000000..dd6c9026ad639fce6f4104f42c900a8cfcfca79e --- /dev/null +++ b/src/html/project-edit.pug @@ -0,0 +1,7 @@ +#project-edit(style='display: none') + sib-form( + range-client=`${sdn}/clients/`, + widget-team='sib-form-multiple-dropdown', + range-team=`${sdn}/members/`, + bind-resources='' + ) diff --git a/src/html/project-profile.html b/src/html/project-profile.html deleted file mode 100644 index 0d2ad8b1e2ed4c95644e943080cf9623a1e332ab..0000000000000000000000000000000000000000 --- a/src/html/project-profile.html +++ /dev/null @@ -1,19 +0,0 @@ -<div id="project-profile" style="display: none"> - <sib-display - data-fields="name, number, client" - widget-client="hdapp-client" - bind-resources - ></sib-display> - - <h2>Team</h2> - <sib-display - class="members-list-condensed" - id-suffix="team" - data-fields="avatar, user" - widget-avatar="sib-display-img" - widget-user="hdapp-userinfo" - next="member" - bind-resources - ></sib-display> -</div> - diff --git a/src/html/project-profile.pug b/src/html/project-profile.pug new file mode 100644 index 0000000000000000000000000000000000000000..6db2091085de5d3bf89b1d4fb7b664f6f7321fb1 --- /dev/null +++ b/src/html/project-profile.pug @@ -0,0 +1,15 @@ +#project-profile(style='display: none') + sib-display( + data-fields='name, number, client', + widget-client='hdapp-client', + bind-resources='' + ) + h2 Team + sib-display.members-list-condensed( + id-suffix='team', + data-fields='avatar, user', + widget-avatar='sib-display-img', + widget-user='hdapp-userinfo', + next='member', + bind-resources='' + ) diff --git a/src/html/project.php b/src/html/project.php deleted file mode 100644 index 68ccc9489c7690cc866247497c121c5f8c6a069e..0000000000000000000000000000000000000000 --- a/src/html/project.php +++ /dev/null @@ -1,23 +0,0 @@ -<div id="project" style="display: none"> - <sib-router id="project-router" default-route="project-profile"> - <sib-route name="project-chat"> - <button>Chat</button> - </sib-route> - <sib-route name="project-profile"> - <button>Voir</button> - </sib-route> - <sib-route name="project-edit"> - <button>Éditer</button> - </sib-route> - <sib-route name="project-create"> - <button>Nouveau</button> - </sib-route> - </sib-router> - - <div id="project-views-container"> - <?php require_once('project-chat.html'); ?> - <?php require_once('project-profile.html'); ?> - <?php require_once('project-edit.html'); ?> - <?php require_once('project-create.html'); ?> - </div> -</div> diff --git a/src/html/project.pug b/src/html/project.pug new file mode 100644 index 0000000000000000000000000000000000000000..c027c2669d26694c8ce043cd54ea8acbaa3852fa --- /dev/null +++ b/src/html/project.pug @@ -0,0 +1,15 @@ +#project(style='display: none') + sib-router#project-router(default-route='project-profile') + sib-route(name='project-chat') + button Chat + sib-route(name='project-profile') + button Voir + sib-route(name='project-edit') + button Éditer + sib-route(name='project-create') + button Nouveau + #project-views-container + include project-chat.pug + include project-profile.pug + include project-edit.pug + include project-create.pug diff --git a/src/html/projects.html b/src/html/projects.pug similarity index 61% rename from src/html/projects.html rename to src/html/projects.pug index 75089b52c6393f274e2ff184d2bc02156b9b1958..942bf1fc6b4f674fd99e3029fb33c39a837c0539 100644 --- a/src/html/projects.html +++ b/src/html/projects.pug @@ -1,4 +1,4 @@ -<script> +script. document.addEventListener("WebComponentsReady", function(event) { class HDAppClient extends SIBWidget { get template() { @@ -14,15 +14,12 @@ } customElements.define("hdapp-client", HDAppClient); }); -</script> -<div id="projects" style="display: none"> - <sib-display - data-src="<?php echo $sdn; ?>/projects/" - data-fields="number, client, name" - widget-client="hdapp-client" - search-fields="number, name" - next="project" - ></sib-display> -</div> - +#projects(style='display: none') + sib-display( + data-src=`${sdn}/projects/`, + data-fields='number, client, name', + widget-client='hdapp-client', + search-fields='number, name', + next='project' + ) diff --git a/src/html/search.html b/src/html/search.html deleted file mode 100644 index b3f5969cf7936ba8cb18cf3fff01a10c263a006c..0000000000000000000000000000000000000000 --- a/src/html/search.html +++ /dev/null @@ -1,35 +0,0 @@ -<div id="search-view"> - <div class="content container-fluid"> - <ldp-display - id="search-results-members" - class="list-condensed" - data-src="<?php echo $sdn; ?>/members/" - set-name="firstname, name-separator, lastname" - value-name-separator=" " - data-fields="avatar, name" - widget-avatar="ldp-display-img" - search-fields="firstname, lastname" - next="member" - ></ldp-display> - - <ldp-display - id="search-results-projects" - class="list-condensed" - data-src="<?php echo $sdn; ?>/projects/" - set-title="number, after-num-separator, name" - value-after-num-separator=" - " - data-fields="client, title" - widget-client="ldp-display-client" - search-fields="number, name" - next="project" - ></ldp-display> - - <ldp-display - id="search-results-channels" - data-src="<?php echo $sdn; ?>/channels/" - data-fields="name" - search-fields="name" - next="channel" - ></ldp-display> - </div> -</div> diff --git a/src/html/search.pug b/src/html/search.pug new file mode 100644 index 0000000000000000000000000000000000000000..8d809aad84852ff00c663fab6ecdddd70a1085f2 --- /dev/null +++ b/src/html/search.pug @@ -0,0 +1,26 @@ +#search-view + .content.container-fluid + ldp-display#search-results-members.list-condensed( + data-src=`${sdn}/members/`, + set-name='firstname, name-separator, lastname', + value-name-separator=' ', + data-fields='avatar, name', + widget-avatar='ldp-display-img', + search-fields='firstname, lastname', + next='member' + ) + ldp-display#search-results-projects.list-condensed( + data-src=`${sdn}/projects/`, + set-title='number, after-num-separator, name', + value-after-num-separator=' - ', + data-fields='client, title', + widget-client='ldp-display-client', + search-fields='number, name', + next='project' + ) + ldp-display#search-results-channels( + data-src=`${sdn}/channels/`, + data-fields='name', + search-fields='name', + next='channel' + )