• This repository has been archived on 22/Apr/2018
  • Stars
    star
    168
  • Rank 225,507 (Top 5 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 10 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Easy-to-use context-menu for your website or webapp.

[Deprecated] basicContext

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

Contents

Demos

Name Description Link
Basic demo basicContext works with all kind of events Try it on CodePen
Position demo basicContext never leaves the visible screen-area Try it on CodePen
Scroll demo basicContext is scrollable when the context height is bigger than the browser height Try it on CodePen
Custom close function demo basicContext lets you define a custom close function Try it on CodePen
Custom position demo basicContext accepts an object with custom coordinates Try it on CodePen
jQuery demo Use basicContext with the jQuery Event Object Demo

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.

Name Preview CSS-File Demo
Default theme CSS-File Demo
Bright theme CSS-File Demo
Dark theme CSS-File Demo

Addons

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

Name Preview CSS-File Demo
PopIn effect CSS-File Demo
FadeIn effect CSS-File Demo

More Repositories

1

Lychee

A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.
PHP
6,321
star
2

Ackee

Self-hosted, Node.js based analytics tool for those who care about privacy.
JavaScript
4,243
star
3

basicScroll

Standalone parallax scrolling for mobile and desktop with CSS variables.
JavaScript
3,631
star
4

formbase

Better default styles for common input elements.
SCSS
567
star
5

basicLightbox

The lightest lightbox ever made.
JavaScript
553
star
6

basicModal

Easy-to-use dialog system for modern web-apps.
JavaScript
283
star
7

ackee-tracker

Transfer data to Ackee.
JavaScript
191
star
8

Rosid

Just-in-time development server and static site generator.
JavaScript
142
star
9

nice-try

Tries to execute a function and discards any error that occurs.
JavaScript
66
star
10

basicGrid

A Foundation-like grid system based on the flex display property.
SCSS
57
star
11

basicSlider

A slider in its purest form.
JavaScript
36
star
12

scrollSnap

Section-based scrolling for your site.
JavaScript
27
star
13

fsify

Convert an array of objects into a persistent or temporary directory structure.
JavaScript
26
star
14

Skeleton-Components

A front-end Malvid template build upon Rosid.
CSS
24
star
15

use-ackee

Use Ackee in React.
JavaScript
23
star
16

basicRotate

Rotate throw a set of 360 degree images using your mouse or finger.
JavaScript
20
star
17

ackee-bitbar

Ackee stats in your macOS menu bar.
JavaScript
16
star
18

ackee-lighthouse

Send Lighthouse reports to Ackee.
JavaScript
13
star
19

Skeleton-EJS

A front-end template build upon Rosid.
CSS
13
star
20

basicPlaceholder

Easy-to-use persistent placeholders for input fields.
JavaScript
10
star
21

basicNotification

Easy-to-use notification-system for your website or webapp.
CoffeeScript
9
star
22

basicPaginate

Paginate a NodeList like there's no tomorrow.
JavaScript
9
star
23

limit-number

Limit a number between a min and max value.
JavaScript
7
star
24

zbarimg

Scan photos using ZBar in Node.js.
CoffeeScript
6
star
25

dribbble-2x

Safari extension for Dribbble, which always shows the @2x version.
JavaScript
6
star
26

rosid-handler-sass

Load SCSS and transform to CSS, add vendor prefixes and minify.
JavaScript
6
star
27

basicTasks

A collection of gulp-tasks used in personal projects.
JavaScript
5
star
28

rosid-handler-twig

Load Twig templates and render them.
JavaScript
5
star
29

Feedboard

Design your feed.
JavaScript
5
star
30

require-data

Extracts data out of multiple file types.
JavaScript
5
star
31

Skeleton-NJK

A front-end template build upon Rosid.
CSS
5
star
32

key-value-replace

Replace key/value pairs in a string.
JavaScript
5
star
33

rosid-handler-ejs

Load EJS templates and render them.
JavaScript
5
star
34

lychee-watermark

Adds a second watermarked photo when uploading images to Lychee.
PHP
5
star
35

lychee-redirect

Redirect from an album-name to a Lychee-album.
PHP
5
star
36

rename-extension

Changes the the extension of a given filename or path.
JavaScript
5
star
37

rosid-handler-njk

Load Nunjucks templates and render them.
JavaScript
4
star
38

rosid-handler-js

Load, transform, bundle and compress JS.
JavaScript
4
star
39

basicFit

Turn elements on your site into a responsive unified grid.
CoffeeScript
4
star
40

rosid-handler-node

Load JS and transform to HTML.
JavaScript
3
star
41

ausgabe

Tiny logger with zero defaults.
JavaScript
3
star
42

count-between

Counts up and down between two numbers.
JavaScript
3
star
43

modulizer

Wrap this snippets around your code to support CommonJS, AMD and non-module-definitions.
JavaScript
3
star
44

eslint-config

ESLint configuration for my personal projects.
JavaScript
2
star
45

pdfconcat

Concat multiple pdfs using pdfunite in Node.js.
CoffeeScript
2
star
46

continuous-stealthy-require

Requires a fresh, uncached module without causing a memory leak.
JavaScript
2
star
47

ackee-faker

Fills Ackee with fake data.
JavaScript
2
star
48

Ackee-Netlify-Test-Instance

JavaScript
1
star
49

rosid-handler-js-next

Load, transform, bundle and compress modern JS.
JavaScript
1
star
50

Skeleton-React

A front-end template build upon Rosid.
JavaScript
1
star
51

vh-variable

TypeScript
1
star