Skip to content
This repository has been archived by the owner on Oct 29, 2023. It is now read-only.

Commit

Permalink
Kendo ui split (#525)
Browse files Browse the repository at this point in the history
* refactor(kendo-ui): move Grid into separate project

* refactor(kendo-ui): move Charts into separate project

* refactor(kendo-ui): move Scheduler into separate project

* refactor(kendo-ui): remove legacy project

* refactor(kendo-ui): enable IE in browserslist

* refactor(kendo-ui): set package versions, cleanup

* refactor(kendo-ui): restore Protractor config

* chore: cleanup failing-projects.json

* refactor(kendo-ui): make tests runnable

* chore(kendo-ui): update Scheduler to latest build

* add kendo-ui grid e2e test

* add kendo-ui button + e2e test

* add kendo-ui-dateinputs + e2e test

* remove projects that are no longer failing
  • Loading branch information
petebacondarwin authored and mgechev committed Nov 7, 2019
1 parent 6a92ddf commit 29b482a
Show file tree
Hide file tree
Showing 128 changed files with 2,209 additions and 418 deletions.
574 changes: 539 additions & 35 deletions angular.json

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion infra/failing-projects.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
"carbonicons-angular-ngcc",
"covalentcore-ngcc",
"harborui-ngcc",
"kendo-ui-ngcc",
"nativescript-angular-ngcc",
"ng2-completer-ngcc",
"ng6-breadcrumbs-ngcc",
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -108,12 +108,12 @@
"@progress/kendo-angular-l10n": "^2.0.0",
"@progress/kendo-angular-pdf-export": "dev",
"@progress/kendo-angular-popup": "^3.0.0",
"@progress/kendo-angular-scheduler": "ivy",
"@progress/kendo-angular-scheduler": "^0.16.1-ivy.1",
"@progress/kendo-data-query": "^1.0.0",
"@progress/kendo-date-math": "^1.3.2",
"@progress/kendo-drawing": "^1.5.8",
"@progress/kendo-recurrence": "^1.0.0",
"@progress/kendo-theme-default": "latest",
"@progress/kendo-theme-default": "dev",
"@swimlane/ngx-charts": "12.0.1",
"@swimlane/ngx-datatable": "16.0.2",
"@swimlane/ngx-dnd": "8.1.0",
Expand Down
12 changes: 12 additions & 0 deletions projects/kendo-ui-buttons-ngcc/browserslist
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# This file is used by the build system to adjust CSS and JS output to support the specified browsers below.
# For additional information regarding the format and rule options, please see:
# https://github.com/browserslist/browserslist#queries

# You can see what browsers were selected by your queries by running:
# npx browserslist

> 0.5%
last 2 versions
Firefox ESR
not dead
not IE 9-11 # For IE 9-11 support, remove 'not'.
32 changes: 32 additions & 0 deletions projects/kendo-ui-buttons-ngcc/e2e/protractor.conf.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// @ts-check
// Protractor configuration file, see link for more information
// https://github.com/angular/protractor/blob/master/lib/config.ts

const { SpecReporter } = require('jasmine-spec-reporter');

/**
* @type { import("protractor").Config }
*/
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./src/**/*.e2e-spec.ts'
],
capabilities: {
browserName: 'chrome'
},
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function() {}
},
onPrepare() {
require('ts-node').register({
project: require('path').join(__dirname, './tsconfig.json')
});
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
}
};
26 changes: 26 additions & 0 deletions projects/kendo-ui-buttons-ngcc/e2e/src/app.e2e-spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import { AppPage } from './app.po';
import { browser, logging } from 'protractor';

describe('workspace-project App', () => {
let page: AppPage;

beforeEach(() => {
page = new AppPage();
});

it('should display welcome message', () => {
page.navigateTo();
expect(page.getTitleText()).toEqual('kendo-ui-misc-ngcc app is running!');
expect(page.getButton().getText()).toEqual('My Kendo UI Button');
expect(page.getButton().getAttribute('class')).toContain('k-button');
expect(page.getButton().getAttribute('class')).toContain('k-primary');
});

afterEach(async () => {
// Assert that there are no errors emitted from the browser
const logs = await browser.manage().logs().get(logging.Type.BROWSER);
expect(logs).not.toContain(jasmine.objectContaining({
level: logging.Level.SEVERE,
} as logging.Entry));
});
});
15 changes: 15 additions & 0 deletions projects/kendo-ui-buttons-ngcc/e2e/src/app.po.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { browser, by, element } from 'protractor';

export class AppPage {
navigateTo() {
return browser.get(browser.baseUrl) as Promise<any>;
}

getTitleText() {
return element(by.css('h1')).getText() as Promise<string>;
}

getButton() {
return element(by.id('button1'));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ module.exports = function (config) {
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
coverageIstanbulReporter: {
dir: require('path').join(__dirname, '../../coverage/kendo-ui-ngcc'),
dir: require('path').join(__dirname, '../../coverage/kendo-ui-misc-ngcc'),
reports: ['html', 'lcovonly', 'text-summary'],
fixWebpackSourcePaths: true
},
Expand Down
2 changes: 2 additions & 0 deletions projects/kendo-ui-buttons-ngcc/src/app/app.component.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<h1>{{title}} app is running!</h1>
<button id="button1" kendoButton (click)="onButtonClick()" [primary]="true">My Kendo UI Button</button>
31 changes: 31 additions & 0 deletions projects/kendo-ui-buttons-ngcc/src/app/app.component.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import { TestBed, async } from '@angular/core/testing';
import { AppComponent } from './app.component';

describe('AppComponent', () => {
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [
AppComponent
],
}).compileComponents();
}));

it('should create the app', () => {
const fixture = TestBed.createComponent(AppComponent);
const app = fixture.debugElement.componentInstance;
expect(app).toBeTruthy();
});

it(`should have as title 'kendo-ui-misc-ngcc'`, () => {
const fixture = TestBed.createComponent(AppComponent);
const app = fixture.debugElement.componentInstance;
expect(app.title).toEqual('kendo-ui-misc-ngcc');
});

it('should render title', () => {
const fixture = TestBed.createComponent(AppComponent);
fixture.detectChanges();
const compiled = fixture.debugElement.nativeElement;
expect(compiled.querySelector('.content span').textContent).toContain('kendo-ui-misc-ngcc app is running!');
});
});
11 changes: 11 additions & 0 deletions projects/kendo-ui-buttons-ngcc/src/app/app.component.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { Component } from '@angular/core';

@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'kendo-ui-misc-ngcc';
onButtonClick() {}
}
20 changes: 20 additions & 0 deletions projects/kendo-ui-buttons-ngcc/src/app/app.module.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { ButtonsModule } from '@progress/kendo-angular-buttons';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';

import { AppComponent } from './app.component';

@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
ButtonsModule,
BrowserAnimationsModule,
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Empty file.
Binary file added projects/kendo-ui-buttons-ngcc/src/favicon.ico
Binary file not shown.
13 changes: 13 additions & 0 deletions projects/kendo-ui-buttons-ngcc/src/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>KendoUiMiscNgcc</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
</head>
<body>
<app-root></app-root>
</body>
</html>
64 changes: 64 additions & 0 deletions projects/kendo-ui-buttons-ngcc/src/polyfills.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
/**
* This file includes polyfills needed by Angular and is loaded before the app.
* You can add your own extra polyfills to this file.
*
* This file is divided into 2 sections:
* 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
* 2. Application imports. Files imported after ZoneJS that should be loaded before your main
* file.
*
* The current setup is for so-called "evergreen" browsers; the last versions of browsers that
* automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
* Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
*
* Learn more in https://angular.io/guide/browser-support
*/

/***************************************************************************************************
* BROWSER POLYFILLS
*/

/** IE10 and IE11 requires the following for NgClass support on SVG elements */
// import 'classlist.js'; // Run `npm install --save classlist.js`.

/**
* Web Animations `@angular/platform-browser/animations`
* Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
* Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
*/
// import 'web-animations-js'; // Run `npm install --save web-animations-js`.

/**
* By default, zone.js will patch all possible macroTask and DomEvents
* user can disable parts of macroTask/DomEvents patch by setting following flags
* because those flags need to be set before `zone.js` being loaded, and webpack
* will put import in the top of bundle, so user need to create a separate file
* in this directory (for example: zone-flags.ts), and put the following flags
* into that file, and then add the following code before importing zone.js.
* import './zone-flags.ts';
*
* The flags allowed in zone-flags.ts are listed here.
*
* The following flags will work for all browsers.
*
* (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
* (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
* (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
*
* in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
* with the following flag, it will bypass `zone.js` patch for IE/Edge
*
* (window as any).__Zone_enable_cross_context_check = true;
*
*/

/***************************************************************************************************
* Zone JS is required by default for Angular itself.
*/
import 'zone.js/dist/zone'; // Included with Angular CLI.


/***************************************************************************************************
* APPLICATION IMPORTS
*/
import '@angular/localize/init';
18 changes: 18 additions & 0 deletions projects/kendo-ui-buttons-ngcc/tsconfig.app.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "../../out-tsc/app",
"types": []
},
"files": [
"src/main.ts",
"src/polyfills.ts"
],
"include": [
"src/**/*.ts"
],
"exclude": [
"src/test.ts",
"src/**/*.spec.ts"
]
}
18 changes: 18 additions & 0 deletions projects/kendo-ui-buttons-ngcc/tsconfig.spec.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"outDir": "../../out-tsc/spec",
"types": [
"jasmine",
"node"
]
},
"files": [
"src/test.ts",
"src/polyfills.ts"
],
"include": [
"src/**/*.spec.ts",
"src/**/*.d.ts"
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@
last 2 versions
Firefox ESR
not dead
IE 9-11
IE 9-11 # For IE 9-11 support, remove 'not'.
27 changes: 27 additions & 0 deletions projects/kendo-ui-charts-ngcc/e2e/src/app.e2e-spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { AppPage } from './app.po';
import { browser, logging } from 'protractor';

describe('workspace-project App', () => {
let page: AppPage;

beforeEach(() => {
page = new AppPage();
page.navigateTo();
});

it('should display welcome message', () => {
expect(page.getTitleText()).toEqual('Welcome to kendo-ui-charts-ngcc!');
});

it('should display chart canvas', () => {
expect(page.getCanvas().isPresent()).toBe(true);
});

afterEach(async () => {
// Assert that there are no errors emitted from the browser
const logs = await browser.manage().logs().get(logging.Type.BROWSER);
expect(logs).not.toContain(jasmine.objectContaining({
level: logging.Level.SEVERE,
} as logging.Entry));
});
});
15 changes: 15 additions & 0 deletions projects/kendo-ui-charts-ngcc/e2e/src/app.po.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import { browser, by, element } from 'protractor';

export class AppPage {
navigateTo() {
return browser.get(browser.baseUrl) as Promise<any>;
}

getTitleText() {
return element(by.css('app-root h1')).getText() as Promise<string>;
}

getCanvas() {
return element(by.css('canvas'));
}
}
13 changes: 13 additions & 0 deletions projects/kendo-ui-charts-ngcc/e2e/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"extends": "../../../tsconfig.json",
"compilerOptions": {
"outDir": "../../../out-tsc/e2e",
"module": "commonjs",
"target": "es5",
"types": [
"jasmine",
"jasminewd2",
"node"
]
}
}

0 comments on commit 29b482a

Please sign in to comment.