3.5.1 • Published 8 years ago

basiccontext v3.5.1

Weekly downloads
517
License
MIT
Repository
github
Last release
8 years ago

basicContext

Easy-to-use context-menu for your website or web-app.

Contents

Demos

NameDescriptionLink
Basic demobasicContext works with all kind of eventsTry it on CodePen
Position demobasicContext never leaves the visible screen-areaTry it on CodePen
Scroll demobasicContext is scrollable when the context height is bigger than the browser heightTry it on CodePen
Custom close function demobasicContext lets you define a custom close functionTry it on CodePen
Custom position demobasicContext accepts an object with custom coordinatesTry it on CodePen
jQuery demoUse basicContext with the jQuery Event ObjectDemo

Features

  • Works in all modern browsers
  • Written in Vanilla JS
  • CommonJS and AMD support
  • Layout and theme are separated CSS-files. This makes it easy to style our own context.
  • Stays within the viewport and never opens outside the visible screen-area (Demo)
  • Scrollable, when the height of the context-menu is bigger than the height of the browser (Demo)

Requirements

basicContext is written in Vanilla JS and only dependents on the following browser APIs:

All of these APIs are capable of being polyfilled in older browser. Check the linked resources above to determine if you must polyfill to achieve your desired level of browser support.

Setup

We recommend to install basicContext using Bower or npm.

bower install basicContext
npm install basiccontext

Include the CSS-files in the head and the JS-file at the end of your body:

<link rel="stylesheet" href="dist/basicContext.min.css">
<link rel="stylesheet" href="dist/themes/default.min.css">
<script src="dist/basicContext.min.js"></script>

Skip the JS-file if you want to use basicContext as module together with Browserify:

let basicContext = require('basiccontext')

How to use

Vanilla JS

Show a context-menu by using the following command:

document.querySelector('.btn').addEventListener('click', function(e) {

	let items = [
		{ title: 'Add Sites', icon: 'ion-plus-round', fn: clicked },
		{ title: 'Reset Login', icon: 'ion-person', fn: clicked },
		{ title: 'Help', icon: 'ion-help-buoy', fn: clicked },
		{ title: 'Disabled', icon: 'ion-minus-circled', fn: clicked, disabled: true },
		{ title: 'Invisible', icon: 'ion-eye-disabled', fn: clicked, visible: false },
		{ },
		{ title: 'Logout', icon: 'ion-log-out', fn: clicked }
	]

	basicContext.show(items, e)

})

jQuery

basicContext doesn't work properly with the normalized jQuery Event Object, but you can easily bypass this issue using e.originalEvent:

$('.btn').on('click', function(e) {

	let items = [
		{ title: 'Add Sites', icon: 'ion-plus-round', fn: clicked },
		{ title: 'Reset Login', icon: 'ion-person', fn: clicked },
		{ title: 'Help', icon: 'ion-help-buoy', fn: clicked },
		{ title: 'Disabled', icon: 'ion-minus-circled', fn: clicked, disabled: true },
		{ title: 'Invisible', icon: 'ion-eye-disabled', fn: clicked, visible: false },
		{ },
		{ title: 'Logout', icon: 'ion-log-out', fn: clicked }
	]

	basicContext.show(items, e.originalEvent)

})

Themes

Layout and theme are separated CSS-files. This makes it easy to style your own context or to choose from the included themes.

NamePreviewCSS-FileDemo
Default themeCSS-FileDemo
Bright themeCSS-FileDemo
Dark themeCSS-FileDemo

Addons

Include the following CSS-files to enhance the look and functionality of your contexts.

NamePreviewCSS-FileDemo
PopIn effectCSS-FileDemo
FadeIn effectCSS-FileDemo
4.0.0-beta.0

8 years ago

3.5.1

8 years ago

3.5.0

9 years ago

3.4.0

9 years ago

3.3.1

9 years ago

3.3.0

9 years ago

3.2.1

9 years ago

3.2.0

9 years ago

3.1.2

9 years ago

3.1.1

9 years ago

3.1.0

9 years ago

3.0.3

9 years ago

3.0.2

9 years ago

3.0.1

9 years ago

3.0.0

9 years ago