0.3.0 • Published 7 years ago

3m5-coco v0.3.0

Weekly downloads
85
License
ISC
Repository
github
Last release
7 years ago

3m5-coco

a simple JavaScript MVC Framework developed by 3m5. Media GmbH npm version

What is 3m5-coco?

  • based on dejavu class model

  • use handlebars template engine

  • use jQuery for DOM-manipulation

  • use ES6 standard - transpiled by babel --> ES5 standard published to npm

  • compatible to browserify and webpack

installation

this framework is a npm module, use

npm install 3m5-coco

Sample application.js

This file will give you a taste of how to use Coco.JS

/**
 * @author (c) Andreas Wiedenfeld <andreas.wiedenfeld@3m5.de>
 * updated at 16.09.2015
 */
/** @namespace **/

var Coco = require("3m5-coco");

var TestCollection = require("./test/testCollection");
var TestView2 = require("./test/testView2");

var CocoApplication = dejavu.Class.declare({

    initialize() {
        console.log("CocoTestApp initialized, look at available Coco-Classes: ", Coco);
                
        Coco.Translator.addEventListener(Coco.TranslatorEvent.CHANGE_LOCALE, (event) => {
          console.info("locale changed " + event.locale);
        });
                    
        Coco.Translator.loadMessagesFromObject({
          title:  {
            1: "bla-de",
            2: "blub"
          },
          title2: "Hallo %0%"
        }, "de");
    
        Coco.Translator.loadMessagesFromObject({
          title:  {
            1: "bla-en",
            2: "blub-en"
          },
          title2: "Hallo %0%"
        }, "en");
    
        Coco.Translator.setLocale("de");
        console.log("i18n example (de): " + Coco.Translator.get("title.1"));
        console.log("i18n example with replacement: " + Coco.Translator.get("title2", ["Tom"]));
    
        //change locale
        Coco.Translator.setLocale("en");
        console.log("i18n example (en): " + Coco.Translator.get("title.1"));

        var innerModel = new Coco.Model({id:123, label:"innerModel", properts: "myInnerProperty"});
        var innerCollection = new TestCollection([{id:1, label:11}, {id:2, label:22}]);
        var testModel = new Coco.Model({id:12, label:"myLabel", property: innerModel, properties: innerCollection});

        innerCollection.add(innerModel);
        console.log(testModel.getAttributes());

        //initialize a simple router
        new Coco.Router('.routerView', {
            dashboard: {
                path: '/',
                view: require("./test/testView"),
                model: testModel
            },
            imprint: {
                path: '/testView2',
                view: TestView2
            }
        }, '/');
    }

});

$(document).ready(() => {
    new CocoApplication();
});

Coco.config = {
    baseUrl: "baseURL",              //server context path
    router: {
        loaderDelay: 300        // When views are swapped by Router, this time adjusts when the loading class
    },
    restService: {              //restService configuration
        path: null,             //restService path
        cacheGet: 600,          //cache time for GET Requests of same url in seconds
        cachePost: null         //cache time for GET Requests of same url in seconds
    }
};

Documentation

I hate the way you did

If something doesn't suit you, please submit a pull request that lets this framework be more flexible than it currently is.

License

Coco is under ISC-License

0.3.0

7 years ago

0.2.0

9 years ago

0.1.88

9 years ago

0.1.87

9 years ago

0.1.86

9 years ago

0.1.85

10 years ago

0.1.84

10 years ago

0.1.83

10 years ago

0.1.82

10 years ago

0.1.81

10 years ago

0.1.80

10 years ago

0.1.79

10 years ago

0.1.78

10 years ago

0.1.77

10 years ago

0.1.76

10 years ago

0.1.75

10 years ago

0.1.74

10 years ago

0.1.73

10 years ago

0.1.72

10 years ago

0.1.71

10 years ago

0.1.70

10 years ago

0.1.69

10 years ago

0.1.68

10 years ago

0.1.67

10 years ago

0.1.66

10 years ago

0.1.65

10 years ago

0.1.64

10 years ago

0.1.63

10 years ago

0.1.62

10 years ago

0.1.61

10 years ago

0.1.6

11 years ago

0.1.5

11 years ago

0.1.4

11 years ago

0.1.3

11 years ago

0.1.2

11 years ago

0.1.1

11 years ago

0.1.0

11 years ago

0.0.981

11 years ago

0.0.980

11 years ago

0.0.979

11 years ago

0.0.978

11 years ago

0.0.977

11 years ago

0.0.976

11 years ago

0.0.975

11 years ago

0.0.974

11 years ago

0.0.973

11 years ago

0.0.972

11 years ago

0.0.971

11 years ago

0.0.97

11 years ago

0.0.96

11 years ago

0.0.95

11 years ago

0.0.94

11 years ago

0.0.93

11 years ago

0.0.92

11 years ago

0.0.91

11 years ago

0.0.9

11 years ago

0.0.8

11 years ago

0.0.7

11 years ago

0.0.6

11 years ago

0.0.5

11 years ago

0.0.4

11 years ago

0.0.3

11 years ago

0.0.2

11 years ago

0.0.1

11 years ago