Skip to content
This repository was archived by the owner on Jan 24, 2019. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
5 changes: 3 additions & 2 deletions bower.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@
"author": "@k88hudson",
"version": "0.1.8",
"dependencies": {
"bootstrap": "3.1.1"
"bootstrap": "3.1.1",
"selectize": "0.10.1"
},
"ignore": [
"bower_components/",
Expand All @@ -13,4 +14,4 @@
"Procfile",
"package.json"
]
}
}
2 changes: 1 addition & 1 deletion demo/compiled/demo.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion demo/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<link rel="stylesheet" href="http://yandex.st/highlightjs/7.3/styles/github.min.css">
<link rel="stylesheet" href="compiled/demo.css">
</head>
<body >
<body class="angular">
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation" ng-controller="navController">

<div class="container">
Expand Down
2 changes: 1 addition & 1 deletion demo/js/styleguide.js
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ angular.module('styleguide', ['ngRoute', 'ui.bootstrap', 'hljs'])
"forms",
"tables",
"logo",
"userInfo",
"navs",
"LESSMixins",
"gallery"
];
Expand Down
2 changes: 1 addition & 1 deletion demo/less/demo.less
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@import '../../less/makerstrap';
@makerstrap-bower-path: '../../bower_components';

body {
body.angular {
padding-top: 50px;
}

Expand Down
184 changes: 184 additions & 0 deletions demo/nav.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,184 @@
<!doctype html>
<html lang="en" ng-app="styleguide">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<title>Makerstrap</title>

<link href='https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,700italic,400,300,700' rel='stylesheet' type='text/css'>
<link href="https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
<link rel="stylesheet" href="http://yandex.st/highlightjs/7.3/styles/github.min.css">
<link rel="stylesheet" href="compiled/demo.css">
</head>
<body>
<nav class="navbar navbar-webmaker">
<div class="container">
<div class="navbar-header">
<button class="navbar-toggle" nav-toggle>
<span class="sr-only">Toggle navigation</span>
<span class="fa fa-bars fa-lg"></span>
</button>
<a href="#" class="logo webmaker-logo">
<img src="https://webmaker.org/img/logo.png">
</a>
</div>
<div class="navbar-collapse collapse">
<form class="navbar-form navbar-right">
<select class="form-control selectize"></select>
</form>
<form class="navbar-form navbar-right" logged-out-only>
<button data-log-in class="btn btn-primary">
Sign in
</button>
</form>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown" href="#" logged-in-only>
<a class="navbar-user-info dropdown-toggle" data-toggle="dropdown">
<img
class="user-info-avatar"
src="https://i1.wp.com/stuff.webmaker.org/avatars/webmaker-avatar-200x200.png">
Hi <strong>webmaker123</strong>
<span class="hidden label label-primary">admin</span>
<span class="label label-info">supermentor</span>
<span class="hidden label label-warning">mentor</span>
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="#">
<span class="fa fa-fw fa-th-large"></span> My makes
</a></li>
<li><a href="#">
<span class="fa fa-fw fa-user"></span> My profile
</a></li>
<li><a href="#">
<span class="fa fa-fw fa-cog"></span> My settings
</a></li>
<li class="divider"></li>
<li><a href="#" data-log-out>
<span class="fa fa-fw fa-sign-out"></span>Sign out
</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>

<!-- Secondary nav -->
<nav class="navbar navbar-inverse navbar-no-header-xs">
<div class="container">
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="nav-icon">
<a href="#"><span class="fa fa-random"></span> Explore</a>
</li>
<li class="nav-icon">
<a href="#"><span class="fa fa-book"></span> Resources</a>
</li>
</ul>
</div>
</div>
</nav>

<!-- Tertiary nav -->
<nav class="navbar navbar-no-header-xs navbar-tertiary">
<div class="container">
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="hidden nav-icon nav-title">
<a href="#">
<span class="fa fa-random"></span> Explore
</a>
</li>
<li class="active"><a href="#">Gallery</a></li>
<li><a href="#">Badges</a></li>
<li><a href="#">More</a></li>
</ul>
</div>
</div>
</nav>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/selectize.js/0.9.0/js/standalone/selectize.js"></script>
<script type="text/javascript">
// Sign in/out
var $login = $('[data-log-in]');
var $logout = $('[data-log-out]');
var $loggedInOnly = $('[logged-in-only]');
var $loggedOutOnly = $('[logged-out-only]');
$logout.click(function (e) {
e.preventDefault();
$loggedInOnly.hide();
$loggedOutOnly.show();
});
$login.click(function (e) {
e.preventDefault();
$loggedInOnly.show();
$loggedOutOnly.hide();
});
$loggedOutOnly.hide();

// Collapse
$('[nav-toggle]').click(function (e) {
e.preventDefault();
$('.navbar-collapse').toggleClass('collapse');
});

// Language
var href = window.location.pathname;
var supportedLanguages = ['en-us', 'fr-ca'];
var langmap = {
'en-us': {
nativeName: 'English',
englishName: 'English'
},
'fr-ca': {
nativeName: 'Français',
englishName: 'French'
}
};
var currentLang = 'en-us';
var options = supportedLanguages.map(function (lang) {
return {
id: lang,
title: langmap[lang] ? langmap[lang].nativeName : lang,
english: langmap[lang] && langmap[lang].englishName
};
});
var $select = $('.selectize').selectize({
options: options,
labelField: 'title',
valueField: 'id',
searchField: ['title', 'english'],
onItemAdd: function (selectedLang) {
var matchesLang;
var matches = href.match(/([a-z]{2,3})([-]([a-zA-Z]{2}))?/);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you might need to change them if you want them to match with the regex, but I guess we're not doing that anyway? or we do?

if (matches) {
if (matches[1] && matches[2]) {
matchesLang = matches[1].toLowerCase() + matches[2].toUpperCase();
} else {
matchesLang = matches[1].toLowerCase();
}
}
//if the selected language matches the language in the header
if (selectedLang === currentLang) {
return;
// check if we have any matches and they are exist in the array we have
} else if ((matches && matches[0]) && supportedLanguages.indexOf(matchesLang) !== -1) {
href = href.replace(matches[0], selectedLang);
// This is where you might set window.location = href;
console.log(href);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove console log and line above.

} else if (href === '/') {
// This is where you might set window.location = '/' + selectedLang;
console.log('/' + selectedLang);
} else {
// This is where you might set window.location = '/' + selectedLang + href;
console.log('/' + selectedLang + href);
}
}
});
var selectize = $select[0].selectize;
selectize.setValue(currentLang);
</script>
</body>
</html>
114 changes: 85 additions & 29 deletions demo/views/docs.html
Original file line number Diff line number Diff line change
Expand Up @@ -484,49 +484,105 @@ <h1 id="logo" class="page-header" section>Logo</h1>
</div>

<div class="container">
<h1 id="userInfo" class="page-header" section>User Info</h1>
<h1 id="navs" class="page-header" section>Navs</h1>

<h3>Webmaker nav</h3>
</div>
<nav class="navbar navbar-default" role="navigation">
<nav class="navbar navbar-webmaker">
<div class="container">

<div class="navbar-header">

<button type="button" class="navbar-toggle" ng-click="userbarCollapsed = !userbarCollapsed">
<!-- toggle button for mobile -->
<button class="navbar-toggle">
<span class="sr-only">Toggle navigation</span>
<span class="fa fa-bars fa-fw"></span>
<span class="fa fa-bars fa-lg"></span>
</button>

<a class="navbar-brand" href="#">App Name</a>
<!-- logo -->
<a href="#" class="logo webmaker-logo">
<img src="https://webmaker.org/img/logo.png">
</a>
</div>

<div class="collapse navbar-collapse" collapse="userbarCollapsed">
<ul class="nav navbar-nav navbar-left">
<li><a>Link</a></li>
<li><a>Other link</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">

<!-- User info -->
<li class="dropdown">
<a class="navbar-user-info dropdown-toggle" type="button" data-toggle="dropdown">
<img class="user-info-avatar" src="https://stuff.webmaker.org/avatars/webmaker-avatar-44x44.png">
Username <span class="caret"></span>
<div class="navbar-collapse">
<!-- Sign in button -->
<form ng-hide="navExLoggedIn" class="navbar-form navbar-right">
<button ng-click="navExLoggedIn=true" class="btn btn-primary">Sign in</button>
</form>
<!-- User info -->
<ul ng-show="navExLoggedIn" class="nav navbar-nav navbar-right">
<li class="dropdown" href="#" logged-in-only>
<a class="navbar-user-info dropdown-toggle" data-toggle="dropdown">
<img
class="user-info-avatar"
src="https://i1.wp.com/stuff.webmaker.org/avatars/webmaker-avatar-200x200.png">
Hi <strong>webmaker123</strong>
<!-- labels for different user types -->
<span class="hidden label label-primary">admin</span>
<span class="label label-info">supermentor</span>
<span class="hidden label label-warning">mentor</span>
<span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
<li><a href="#"><span class="fa fa-th-large"></span> My Makes</a></li>
<li><a href="#"><span class="fa fa-cog"> Account Settings</a></li>
<ul class="dropdown-menu">
<li><a href="#"><span class="fa fa-fw fa-th-large"></span> My makes</a></li>
<li><a href="#"><span class="fa fa-fw fa-user"></span> My profile</a></li>
<li><a href="#"><span class="fa fa-fw fa-cog"></span> My settings</a></li>
<li class="divider"></li>
<li><a href="#"><span class="fa fa-sign-out"></span> Logout</a></li>
<li><a href="#" ng-click="navExLoggedIn=false"><span class="fa fa-fw fa-sign-out"></span>Sign out</a></li>
</ul>
</li>
<!-- end user info -->

</ul>
</ul>

</div>
</div>
</nav>

<div class="container">
<p class="alert alert-info">To see a more complete example including <strong>the language picker</strong> and secondary/tertiary navs, see <a href="./nav.html">nav.html</a></p>
<div hljs>
<nav class="navbar navbar-webmaker">
<div class="container">
<div class="navbar-header">
<!-- toggle button for mobile -->
<button class="navbar-toggle">
<span class="sr-only">Toggle navigation</span>
<span class="fa fa-bars fa-lg"></span>
</button>
<!-- logo -->
<a href="#" class="logo webmaker-logo">
<img src="https://webmaker.org/img/logo.png">
</a>
</div>
<div class="navbar-collapse">
<!-- Sign in button - you should hide this when the user is logged in. -->
<form class="navbar-form navbar-right">
<button data-log-in class="btn btn-primary">Sign in</button>
</form>
<!-- User info - you should only show this when the user is logged in -->
<ul class="nav navbar-nav navbar-right">
<li class="dropdown" href="#">
<a class="navbar-user-info dropdown-toggle" data-toggle="dropdown">
<img
class="user-info-avatar"
src="https://i1.wp.com/stuff.webmaker.org/avatars/webmaker-avatar-200x200.png">
Hi <strong>webmaker123</strong>
<!-- labels for different user types -->
<span class="hidden label label-primary">admin</span>
<span class="label label-info">supermentor</span>
<span class="hidden label label-warning">mentor</span>
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a href="#"><span class="fa fa-fw fa-th-large"></span> My makes</a></li>
<li><a href="#"><span class="fa fa-fw fa-user"></span> My profile</a></li>
<li><a href="#"><span class="fa fa-fw fa-cog"></span> My settings</a></li>
<li class="divider"></li>
<li><a href="#"><span class="fa fa-fw fa-sign-out"></span>Sign out</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
</div>
</div>

<div class="container">
<h1 id="LESSMixins" class="page-header" section>LESS Mixins</h1>
</div>
Expand Down
2 changes: 1 addition & 1 deletion dist/makerstrap.complete.min.css

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/makerstrap.min.css

Large diffs are not rendered by default.

13 changes: 13 additions & 0 deletions less/custom-components/selectize.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/*********************************************************
* Selectize
*/

.navbar-form .selectize-control.form-control {
min-width: 160px;
.selectize-input {
padding-right: 25px;
&:after {
right: 8px;
}
}
}
4 changes: 4 additions & 0 deletions less/makerstrap.less
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,10 @@
* Custom components
*/

// Selectize
@import '@{makerstrap-bower-path}/selectize/dist/less/selectize.bootstrap3';
@import 'custom-components/selectize';

@import 'custom-components/hanging-lists';
@import 'custom-components/hgroup';
@import 'custom-components/mobile-block-button';
Expand Down
Loading