30744a9eb1fd45c1d68caR11">11
+
12
+@NgModule({
13
+  imports: [RouterModule.forChild(routes)],
14
+  exports: [RouterModule]
15
+})
16
+export class Tab1PageRoutingModule {}

+ 20 - 0
src/app/tab1/tab1.module.ts

@@ -0,0 +1,20 @@
1
+import { IonicModule } from '@ionic/angular';
2
+import { NgModule } from '@angular/core';
3
+import { CommonModule } from '@angular/common';
4
+import { FormsModule } from '@angular/forms';
5
+import { Tab1Page } from './tab1.page';
6
+import { ExploreContainerComponentModule } from '../explore-container/explore-container.module';
7
+
8
+import { Tab1PageRoutingModule } from './tab1-routing.module';
9
+
10
+@NgModule({
11
+  imports: [
12
+    IonicModule,
13
+    CommonModule,
14
+    FormsModule,
15
+    ExploreContainerComponentModule,
16
+    Tab1PageRoutingModule
17
+  ],
18
+  declarations: [Tab1Page]
19
+})
20
+export class Tab1PageModule {}

+ 17 - 0
src/app/tab1/tab1.page.html

@@ -0,0 +1,17 @@
1
+<ion-header [translucent]="true">
2
+  <ion-toolbar>
3
+    <ion-title>
4
+      Tab 1
5
+    </ion-title>
6
+  </ion-toolbar>
7
+</ion-header>
8
+
9
+<ion-content [fullscreen]="true">
10
+  <ion-header collapse="condense">
11
+    <ion-toolbar>
12
+      <ion-title size="large">Tab 1</ion-title>
13
+    </ion-toolbar>
14
+  </ion-header>
15
+
16
+  <app-explore-container name="Tab 1 page"></app-explore-container>
17
+</ion-content>

+ 0 - 0
src/app/tab1/tab1.page.scss


+ 25 - 0
src/app/tab1/tab1.page.spec.ts

@@ -0,0 +1,25 @@
1
+import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2
+import { IonicModule } from '@ionic/angular';
3
+import { ExploreContainerComponentModule } from '../explore-container/explore-container.module';
4
+
5
+import { Tab1Page } from './tab1.page';
6
+
7
+describe('Tab1Page', () => {
8
+  let component: Tab1Page;
9
+  let fixture: ComponentFixture<Tab1Page>;
10
+
11
+  beforeEach(waitForAsync(() => {
12
+    TestBed.configureTestingModule({
13
+      declarations: [Tab1Page],
14
+      imports: [IonicModule.forRoot(), ExploreContainerComponentModule]
15
+    }).compileComponents();
16
+
17
+    fixture = TestBed.createComponent(Tab1Page);
18
+    component = fixture.componentInstance;
19
+    fixture.detectChanges();
20
+  }));
21
+
22
+  it('should create', () => {
23
+    expect(component).toBeTruthy();
24
+  });
25
+});

+ 12 - 0
src/app/tab1/tab1.page.ts

@@ -0,0 +1,12 @@
1
+import { Component } from '@angular/core';
2
+
3
+@Component({
4
+  selector: 'app-tab1',
5
+  templateUrl: 'tab1.page.html',
6
+  styleUrls: ['tab1.page.scss']
7
+})
8
+export class Tab1Page {
9
+
10
+  constructor() {}
11
+
12
+}

+ 16 - 0
src/app/tab2/tab2-routing.module.ts

@@ -0,0 +1,16 @@
1
+import { NgModule } from '@angular/core';
2
+import { RouterModule, Routes } from '@angular/router';
3
+import { Tab2Page } from './tab2.page';
4
+
5
+const routes: Routes = [
6
+  {
7
+    path: '',
8
+    component: Tab2Page,
9
+  }
10
+];
11
+
12
+@NgModule({
13
+  imports: [RouterModule.forChild(routes)],
14
+  exports: [RouterModule]
15
+})
16
+export class Tab2PageRoutingModule {}

+ 21 - 0
src/app/tab2/tab2.module.ts

@@ -0,0 +1,21 @@
1
+import { IonicModule } from '@ionic/angular';
2
+import { RouterModule } from '@angular/router';
3
+import { NgModule } from '@angular/core';
4
+import { CommonModule } from '@angular/common';
5
+import { FormsModule } from '@angular/forms';
6
+import { Tab2Page } from './tab2.page';
7
+import { ExploreContainerComponentModule } from '../explore-container/explore-container.module';
8
+
9
+import { Tab2PageRoutingModule } from './tab2-routing.module';
10
+
11
+@NgModule({
12
+  imports: [
13
+    IonicModule,
14
+    CommonModule,
15
+    FormsModule,
16
+    ExploreContainerComponentModule,
17
+    Tab2PageRoutingModule
18
+  ],
19
+  declarations: [Tab2Page]
20
+})
21
+export class Tab2PageModule {}

+ 17 - 0
src/app/tab2/tab2.page.html

@@ -0,0 +1,17 @@
1
+<ion-header [translucent]="true">
2
+  <ion-toolbar>
3
+    <ion-title>
4
+      Tab 2
5
+    </ion-title>
6
+  </ion-toolbar>
7
+</ion-header>
8
+
9
+<ion-content [fullscreen]="true">
10
+  <ion-header collapse="condense">
11
+    <ion-toolbar>
12
+      <ion-title size="large">Tab 2</ion-title>
13
+    </ion-toolbar>
14
+  </ion-header>
15
+
16
+  <app-explore-container name="Tab 2 page"></app-explore-container>
17
+</ion-content>

+ 0 - 0
src/app/tab2/tab2.page.scss


+ 25 - 0
src/app/tab2/tab2.page.spec.ts

@@ -0,0 +1,25 @@
1
+import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2
+import { IonicModule } from '@ionic/angular';
3
+import { ExploreContainerComponentModule } from '../explore-container/explore-container.module';
4
+
5
+import { Tab2Page } from './tab2.page';
6
+
7
+describe('Tab2Page', () => {
8
+  let component: Tab2Page;
9
+  let fixture: ComponentFixture<Tab2Page>;
10
+
11
+  beforeEach(waitForAsync(() => {
12
+    TestBed.configureTestingModule({
13
+      declarations: [Tab2Page],
14
+      imports: [IonicModule.forRoot(), ExploreContainerComponentModule]
15
+    }).compileComponents();
16
+
17
+    fixture = TestBed.createComponent(Tab2Page);
18
+    component = fixture.componentInstance;
19
+    fixture.detectChanges();
20
+  }));
21
+
22
+  it('should create', () => {
23
+    expect(component).toBeTruthy();
24
+  });
25
+});

+ 12 - 0
src/app/tab2/tab2.page.ts

@@ -0,0 +1,12 @@
1
+import { Component } from '@angular/core';
2
+
3
+@Component({
4
+  selector: 'app-tab2',
5
+  templateUrl: 'tab2.page.html',
6
+  styleUrls: ['tab2.page.scss']
7
+})
8
+export class Tab2Page {
9
+
10
+  constructor() {}
11
+
12
+}

+ 16 - 0
src/app/tab3/tab3-routing.module.ts

@@ -0,0 +1,16 @@
1
+import { NgModule } from '@angular/core';
2
+import { RouterModule, Routes } from '@angular/router';
3
+import { Tab3Page } from './tab3.page';
4
+
5
+const routes: Routes = [
6
+  {
7
+    path: '',
8
+    component: Tab3Page,
9
+  }
10
+];
11
+
12
+@NgModule({
13
+  imports: [RouterModule.forChild(routes)],
14
+  exports: [RouterModule]
15
+})
16
+export class Tab3PageRoutingModule {}

+ 22 - 0
src/app/tab3/tab3.module.ts

@@ -0,0 +1,22 @@
1
+import { IonicModule } from '@ionic/angular';
2
+import { RouterModule } from '@angular/router';
3
+import { NgModule } from '@angular/core';
4
+import { CommonModule } from '@angular/common';
5
+import { FormsModule } from '@angular/forms';
6
+import { Tab3Page } from './tab3.page';
7
+import { ExploreContainerComponentModule } from '../explore-container/explore-container.module';
8
+
9
+import { Tab3PageRoutingModule } from './tab3-routing.module';
10
+
11
+@NgModule({
12
+  imports: [
13
+    IonicModule,
14
+    CommonModule,
15
+    FormsModule,
16
+    ExploreContainerComponentModule,
17
+    RouterModule.forChild([{ path: '', component: Tab3Page }]),
18
+    Tab3PageRoutingModule,
19
+  ],
20
+  declarations: [Tab3Page]
21
+})
22
+export class Tab3PageModule {}

+ 17 - 0
src/app/tab3/tab3.page.html

@@ -0,0 +1,17 @@
1
+<ion-header [translucent]="true">
2
+  <ion-toolbar>
3
+    <ion-title>
4
+      Tab 3
5
+    </ion-title>
6
+  </ion-toolbar>
7
+</ion-header>
8
+
9
+<ion-content [fullscreen]="true">
10
+  <ion-header collapse="condense">
11
+    <ion-toolbar>
12
+      <ion-title size="large">Tab 3</ion-title>
13
+    </ion-toolbar>
14
+  </ion-header>
15
+
16
+  <app-explore-container name="Tab 3 page"></app-explore-container>
17
+</ion-content>

+ 0 - 0
src/app/tab3/tab3.page.scss


+ 25 - 0
src/app/tab3/tab3.page.spec.ts

@@ -0,0 +1,25 @@
1
+import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
2
+import { IonicModule } from '@ionic/angular';
3
+import { ExploreContainerComponentModule } from '../explore-container/explore-container.module';
4
+
5
+import { Tab3Page } from './tab3.page';
6
+
7
+describe('Tab3Page', () => {
8
+  let component: Tab3Page;
9
+  let fixture: ComponentFixture<Tab3Page>;
10
+
11
+  beforeEach(waitForAsync(() => {
12
+    TestBed.configureTestingModule({
13
+      declarations: [Tab3Page],
14
+      imports: [IonicModule.forRoot(), ExploreContainerComponentModule]
15
+    }).compileComponents();
16
+
17
+    fixture = TestBed.createComponent(Tab3Page);
18
+    component = fixture.componentInstance;
19
+    fixture.detectChanges();
20
+  }));
21
+
22
+  it('should create', () => {
23
+    expect(component).toBeTruthy();
24
+  });
25
+});

+ 12 - 0
src/app/tab3/tab3.page.ts

@@ -0,0 +1,12 @@
1
+import { Component } from '@angular/core';
2
+
3
+@Component({
4
+  selector: 'app-tab3',
5
+  templateUrl: 'tab3.page.html',
6
+  styleUrls: ['tab3.page.scss']
7
+})
8
+export class Tab3Page {
9
+
10
+  constructor() {}
11
+
12
+}

+ 39 - 0
src/app/tabs/tabs-routing.module.ts

@@ -0,0 +1,39 @@
1
+import { NgModule } from '@angular/core';
2
+import { RouterModule, Routes } from '@angular/router';
3
+import { TabsPage } from './tabs.page';
4
+
5
+const routes: Routes = [
6
+  {
7
+    path: 'tabs',
8
+    component: TabsPage,
9
+    children: [
10
+      {
11
+        path: 'tab1',
12
+        loadChildren: () => import('../tab1/tab1.module').then(m => m.Tab1PageModule)
13
+      },
14
+      {
15
+        path: 'tab2',
16
+        loadChildren: () => import('../tab2/tab2.module').then(m => m.Tab2PageModule)
17
+      },
18
+      {
19
+        path: 'tab3',
20
+        loadChildren: () => import('../tab3/tab3.module').then(m => m.Tab3PageModule)
21
+      },
22
+      {
23
+        path: '',
24
+        redirectTo: '/tabs/tab1',
25
+        pathMatch: 'full'
26
+      }
27
+    ]
28
+  },
29
+  {
30
+    path: '',
31
+    redirectTo: '/tabs/tab1',
32
+    pathMatch: 'full'
33
+  }
34
+];
35
+
36
+@NgModule({
37
+  imports: [RouterModule.forChild(routes)],
38
+})
39
+export class TabsPageRoutingModule {}

+ 19 - 0
src/app/tabs/tabs.module.ts

@@ -0,0 +1,19 @@
1
+import { IonicModule } from '@ionic/angular';
2
+import { NgModule } from '@angular/core';
3
+import { CommonModule } from '@angular/common';
4
+import { FormsModule } from '@angular/forms';
5
+
6
+import { TabsPageRoutingModule } from './tabs-routing.module';
7
+
8
+import { TabsPage } from './tabs.page';
9
+
10
+@NgModule({
11
+  imports: [
12
+    IonicModule,
13
+    CommonModule,
14
+    FormsModule,
15
+    TabsPageRoutingModule
16
+  ],
17
+  declarations: [TabsPage]
18
+})
19
+export class TabsPageModule {}

+ 20 - 0
src/app/tabs/tabs.page.html

@@ -0,0 +1,20 @@
1
+<ion-tabs>
2
+
3
+  <ion-tab-bar slot="bottom">
4
+    <ion-tab-button tab="tab1">
5
+      <ion-icon name="triangle"></ion-icon>
6
+      <ion-label>Tab 1</ion-label>
7
+    </ion-tab-button>
8
+
9
+    <ion-tab-button tab="tab2">
10
+      <ion-icon name="ellipse"></ion-icon>
11
+      <ion-label>Tab 2</ion-label>
12
+    </ion-tab-button>
13
+
14
+    <ion-tab-button tab="tab3">
15
+      <ion-icon name="square"></ion-icon>
16
+      <ion-label>Tab 3</ion-label>
17
+    </ion-tab-button>
18
+  </ion-tab-bar>
19
+
20
+</ion-tabs>

+ 1 - 0
src/app/tabs/tabs.page.scss

@@ -0,0 +1 @@
1
+

+ 26 - 0
src/app/tabs/tabs.page.spec.ts

@@ -0,0 +1,26 @@
1
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
2
+import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
3
+
4
+import { TabsPage } from './tabs.page';
5
+
6
+describe('TabsPage', () => {
7
+  let component: TabsPage;
8
+  let fixture: ComponentFixture<TabsPage>;
9
+
10
+  beforeEach(waitForAsync(() => {
11
+    TestBed.configureTestingModule({
12
+      declarations: [TabsPage],
13
+      schemas: [CUSTOM_ELEMENTS_SCHEMA],
14
+    }).compileComponents();
15
+  }));
16
+
17
+  beforeEach(() => {
18
+    fixture = TestBed.createComponent(TabsPage);
19
+    component = fixture.componentInstance;
20
+    fixture.detectChanges();
21
+  });
22
+
23
+  it('should create', () => {
24
+    expect(component).toBeTruthy();
25
+  });
26
+});

+ 12 - 0
src/app/tabs/tabs.page.ts

@@ -0,0 +1,12 @@
1
+import { Component } from '@angular/core';
2
+
3
+@Component({
4
+  selector: 'app-tabs',
5
+  templateUrl: 'tabs.page.html',
6
+  styleUrls: ['tabs.page.scss']
7
+})
8
+export class TabsPage {
9
+
10
+  constructor() {}
11
+
12
+}

BIN
src/assets/icon/favicon.png


File diff suppressed because it is too large
+ 1 - 0
src/assets/shapes.svg


+ 3 - 0
src/environments/environment.prod.ts

@@ -0,0 +1,3 @@
1
+export const environment = {
2
+  production: true
3
+};

+ 16 - 0
src/environments/environment.ts

@@ -0,0 +1,16 @@
1
+// This file can be replaced during build by using the `fileReplacements` array.
2
+// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
3
+// The list of file replacements can be found in `angular.json`.
4
+
5
+export const environment = {
6
+  production: false
7
+};
8
+
9
+/*
10
+ * For easier debugging in development mode, you can import the following file
11
+ * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
12
+ *
13
+ * This import should be commented out in production mode because it will have a negative impact
14
+ * on performance if an error is thrown.
15
+ */
16
+// import 'zone.js/dist/zone-error';  // Included with Angular CLI.

+ 26 - 0
src/global.scss

@@ -0,0 +1,26 @@
1
+/*
2
+ * App Global CSS
3
+ * ----------------------------------------------------------------------------
4
+ * Put style rules here that you want to apply globally. These styles are for
5
+ * the entire app and not just one component. Additionally, this file can be
6
+ * used as an entry point to import other CSS/Sass files to be included in the
7
+ * output CSS.
8
+ * For more information on global stylesheets, visit the documentation:
9
+ * https://ionicframework.com/docs/layout/global-stylesheets
10
+ */
11
+
12
+/* Core CSS required for Ionic components to work properly */
13
+@import "~@ionic/angular/css/core.css";
14
+
15
+/* Basic CSS for apps built with Ionic */
16
+@import "~@ionic/angular/css/normalize.css";
17
+@import "~@ionic/angular/css/structure.css";
18
+@import "~@ionic/angular/css/typography.css";
19
+@import '~@ionic/angular/css/display.css';
20
+
21
+/* Optional CSS utils that can be commented out */
22
+@import "~@ionic/angular/css/padding.css";
23
+@import "~@ionic/angular/css/float-elements.css";
24
+@import "~@ionic/angular/css/text-alignment.css";
25
+@import "~@ionic/angular/css/text-transformation.css";
26
+@import "~@ionic/angular/css/flex-utils.css";

+ 26 - 0
src/index.html

@@ -0,0 +1,26 @@
1
+<!DOCTYPE html>
2
+<html lang="en">
3
+
4
+<head>
5
+  <meta charset="utf-8" />
6
+  <title>Ionic App</title>
7
+
8
+  <base href="/" />
9
+
10
+  <meta name="color-scheme" content="light dark" />
11
+  <meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
12
+  <meta name="format-detection" content="telephone=no" />
13
+  <meta name="msapplication-tap-highlight" content="no" />
14
+
15
+  <link rel="icon" type="image/png" href="assets/icon/favicon.png" />
16
+
17
+  <!-- add to homescreen for ios -->
18
+  <meta name="apple-mobile-web-app-capable" content="yes" />
19
+  <meta name="apple-mobile-web-app-status-bar-style" content="black" />
20
+</head>
21
+
22
+<body>
23
+  <app-root></app-root>
24
+</body>
25
+
26
+</html>

+ 12 - 0
src/main.ts

@@ -0,0 +1,12 @@
1
+import { enableProdMode } from '@angular/core';
2
+import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
3
+
4
+import { AppModule } from './app/app.module';
5
+import { environment } from './environments/environment';
6
+
7
+if (environment.production) {
8
+  enableProdMode();
9
+}
10
+
11
+platformBrowserDynamic().bootstrapModule(AppModule)
12
+  .catch(err => console.log(err));

+ 65 - 0
src/polyfills.ts

@@ -0,0 +1,65 @@
1
+/**
2
+ * This file includes polyfills needed by Angular and is loaded before the app.
3
+ * You can add your own extra polyfills to this file.
4
+ *
5
+ * This file is divided into 2 sections:
6
+ *   1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
7
+ *   2. Application imports. Files imported after ZoneJS that should be loaded before your main
8
+ *      file.
9
+ *
10
+ * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
11
+ * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
12
+ * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
13
+ *
14
+ * Learn more in https://angular.io/guide/browser-support
15
+ */
16
+
17
+/***************************************************************************************************
18
+ * BROWSER POLYFILLS
19
+ */
20
+
21
+/** IE11 requires the following for NgClass support on SVG elements */
22
+// import 'classlist.js';  // Run `npm install --save classlist.js`.
23
+
24
+/**
25
+ * Web Animations `@angular/platform-browser/animations`
26
+ * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
27
+ * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
28
+ */
29
+// import 'web-animations-js';  // Run `npm install --save web-animations-js`.
30
+
31
+/**
32
+ * By default, zone.js will patch all possible macroTask and DomEvents
33
+ * user can disable parts of macroTask/DomEvents patch by setting following flags
34
+ * because those flags need to be set before `zone.js` being loaded, and webpack
35
+ * will put import in the top of bundle, so user need to create a separate file
36
+ * in this directory (for example: zone-flags.ts), and put the following flags
37
+ * into that file, and then add the following code before importing zone.js.
38
+ * import './zone-flags';
39
+ *
40
+ * The flags allowed in zone-flags.ts are listed here.
41
+ *
42
+ * The following flags will work for all browsers.
43
+ *
44
+ * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
45
+ * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
46
+ * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
47
+ *
48
+ *  in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
49
+ *  with the following flag, it will bypass `zone.js` patch for IE/Edge
50
+ *
51
+ *  (window as any).__Zone_enable_cross_context_check = true;
52
+ *
53
+ */
54
+
55
+import './zone-flags';
56
+
57
+/***************************************************************************************************
58
+ * Zone JS is required by default for Angular itself.
59
+ */
60
+import 'zone.js/dist/zone';  // Included with Angular CLI.
61
+
62
+
63
+/***************************************************************************************************
64
+ * APPLICATION IMPORTS
65
+ */

+ 25 - 0
src/test.ts

@@ -0,0 +1,25 @@
1
+// This file is required by karma.conf.js and loads recursively all the .spec and framework files
2
+
3
+import 'zone.js/dist/zone-testing';
4
+import { getTestBed } from '@angular/core/testing';
5
+import {
6
+  BrowserDynamicTestingModule,
7
+  platformBrowserDynamicTesting
8
+} from '@angular/platform-browser-dynamic/testing';
9
+
10
+declare const require: {
11
+  context(path: string, deep?: boolean, filter?: RegExp): {
12
+    <T>(id: string): T;
13
+    keys(): string[];
14
+  };
15
+};
16
+
17
+// First, initialize the Angular testing environment.
18
+getTestBed().initTestEnvironment(
19
+  BrowserDynamicTestingModule,
20
+  platformBrowserDynamicTesting()
21
+);
22
+// Then we find all the tests.
23
+const context = require.context('./', true, /\.spec\.ts$/);
24
+// And load the modules.
25
+context.keys().map(context);

+ 236 - 0
src/theme/variables.scss

@@ -0,0 +1,236 @@
1
+// Ionic Variables and Theming. For more info, please see:
2
+// http://ionicframework.com/docs/theming/
3
+
4
+/** Ionic CSS Variables **/
5
+:root {
6
+  /** primary **/
7
+  --ion-color-primary: #3880ff;
8
+  --ion-color-primary-rgb: 56, 128, 255;
9
+  --ion-color-primary-contrast: #ffffff;
10
+  --ion-color-primary-contrast-rgb: 255, 255, 255;
11
+  --ion-color-primary-shade: #3171e0;
12
+  --ion-color-primary-tint: #4c8dff;
13
+
14
+  /** secondary **/
15
+  --ion-color-secondary: #3dc2ff;
16
+  --ion-color-secondary-rgb: 61, 194, 255;
17
+  --ion-color-secondary-contrast: #ffffff;
18
+  --ion-color-secondary-contrast-rgb: 255, 255, 255;
19
+  --ion-color-secondary-shade: #36abe0;
20
+  --ion-color-secondary-tint: #50c8ff;
21
+
22
+  /** tertiary **/
23
+  --ion-color-tertiary: #5260ff;
24
+  --ion-color-tertiary-rgb: 82, 96, 255;
25
+  --ion-color-tertiary-contrast: #ffffff;
26
+  --ion-color-tertiary-contrast-rgb: 255, 255, 255;
27
+  --ion-color-tertiary-shade: #4854e0;
28
+  --ion-color-tertiary-tint: #6370ff;
29
+
30
+  /** success **/
31
+  --ion-color-success: #2dd36f;
32
+  --ion-color-success-rgb: 45, 211, 111;
33
+  --ion-color-success-contrast: #ffffff;
34
+  --ion-color-success-contrast-rgb: 255, 255, 255;
35
+  --ion-color-success-shade: #28ba62;
36
+  --ion-color-success-tint: #42d77d;
37
+
38
+  /** warning **/
39
+  --ion-color-warning: #ffc409;
40
+  --ion-color-warning-rgb: 255, 196, 9;
41
+  --ion-color-warning-contrast: #000000;
42
+  --ion-color-warning-contrast-rgb: 0, 0, 0;
43
+  --ion-color-warning-shade: #e0ac08;
44
+  --ion-color-warning-tint: #ffca22;
45
+
46
+  /** danger **/
47
+  --ion-color-danger: #eb445a;
48
+  --ion-color-danger-rgb: 235, 68, 90;
49
+  --ion-color-danger-contrast: #ffffff;
50
+  --ion-color-danger-contrast-rgb: 255, 255, 255;
51
+  --ion-color-danger-shade: #cf3c4f;
52
+  --ion-color-danger-tint: #ed576b;
53
+
54
+  /** dark **/
55
+  --ion-color-dark: #222428;
56
+  --ion-color-dark-rgb: 34, 36, 40;
57
+  --ion-color-dark-contrast: #ffffff;
58
+  --ion-color-dark-contrast-rgb: 255, 255, 255;
59
+  --ion-color-dark-shade: #1e2023;
60
+  --ion-color-dark-tint: #383a3e;
61
+
62
+  /** medium **/
63
+  --ion-color-medium: #92949c;
64
+  --ion-color-medium-rgb: 146, 148, 156;
65
+  --ion-color-medium-contrast: #ffffff;
66
+  --ion-color-medium-contrast-rgb: 255, 255, 255;
67
+  --ion-color-medium-shade: #808289;
68
+  --ion-color-medium-tint: #9d9fa6;
69
+
70
+  /** light **/
71
+  --ion-color-light: #f4f5f8;
72
+  --ion-color-light-rgb: 244, 245, 248;
73
+  --ion-color-light-contrast: #000000;
74
+  --ion-color-light-contrast-rgb: 0, 0, 0;
75
+  --ion-color-light-shade: #d7d8da;
76
+  --ion-color-light-tint: #f5f6f9;
77
+}
78
+
79
+@media (prefers-color-scheme: dark) {
80
+  /*
81
+   * Dark Colors
82
+   * -------------------------------------------
83
+   */
84
+
85
+  body {
86
+    --ion-color-primary: #428cff;
87
+    --ion-color-primary-rgb: 66,140,255;
88
+    --ion-color-primary-contrast: #ffffff;
89
+    --ion-color-primary-contrast-rgb: 255,255,255;
90
+    --ion-color-primary-shade: #3a7be0;
91
+    --ion-color-primary-tint: #5598ff;
92
+
93
+    --ion-color-secondary: #50c8ff;
94
+    --ion-color-secondary-rgb: 80,200,255;
95
+    --ion-color-secondary-contrast: #ffffff;
96
+    --ion-color-secondary-contrast-rgb: 255,255,255;
97
+    --ion-color-secondary-shade: #46b0e0;
98
+    --ion-color-secondary-tint: #62ceff;
99
+
100
+    --ion-color-tertiary: #6a64ff;
101
+    --ion-color-tertiary-rgb: 106,100,255;
102
+    --ion-color-tertiary-contrast: #ffffff;
103
+    --ion-color-tertiary-contrast-rgb: 255,255,255;
104
+    --ion-color-tertiary-shade: #5d58e0;
105
+    --ion-color-tertiary-tint: #7974ff;
106
+
107
+    --ion-color-success: #2fdf75;
108
+    --ion-color-success-rgb: 47,223,117;
109
+    --ion-color-success-contrast: #000000;
110
+    --ion-color-success-contrast-rgb: 0,0,0;
111
+    --ion-color-success-shade: #29c467;
112
+    --ion-color-success-tint: #44e283;
113
+
114
+    --ion-color-warning: #ffd534;
115
+    --ion-color-warning-rgb: 255,213,52;
116
+    --ion-color-warning-contrast: #000000;
117
+    --ion-color-warning-contrast-rgb: 0,0,0;
118
+    --ion-color-warning-shade: #e0bb2e;
119
+    --ion-color-warning-tint: #ffd948;
120
+
121
+    --ion-color-danger: #ff4961;
122
+    --ion-color-danger-rgb: 255,73,97;
123
+    --ion-color-danger-contrast: #ffffff;
124
+    --ion-color-danger-contrast-rgb: 255,255,255;
125
+    --ion-color-danger-shade: #e04055;
126
+    --ion-color-danger-tint: #ff5b71;
127
+
128
+    --ion-color-dark: #f4f5f8;
129
+    --ion-color-dark-rgb: 244,245,248;
130
+    --ion-color-dark-contrast: #000000;
131
+    --ion-color-dark-contrast-rgb: 0,0,0;
132
+    --ion-color-dark-shade: #d7d8da;
133
+    --ion-color-dark-tint: #f5f6f9;
134
+
135
+    --ion-color-medium: #989aa2;
136
+    --ion-color-medium-rgb: 152,154,162;
137
+    --ion-color-medium-contrast: #000000;
138
+    --ion-color-medium-contrast-rgb: 0,0,0;
139
+    --ion-color-medium-shade: #86888f;
140
+    --ion-color-medium-tint: #a2a4ab;
141
+
142
+    --ion-color-light: #222428;
143
+    --ion-color-light-rgb: 34,36,40;
144
+    --ion-color-light-contrast: #ffffff;
145
+    --ion-color-light-contrast-rgb: 255,255,255;
146
+    --ion-color-light-shade: #1e2023;
147
+    --ion-color-light-tint: #383a3e;
148
+  }
149
+
150
+  /*
151
+   * iOS Dark Theme
152
+   * -------------------------------------------
153
+   */
154
+
155
+  .ios body {
156
+    --ion-background-color: #000000;
157
+    --ion-background-color-rgb: 0,0,0;
158
+
159
+    --ion-text-color: #ffffff;
160
+    --ion-text-color-rgb: 255,255,255;
161
+
162
+    --ion-color-step-50: #0d0d0d;
163
+    --ion-color-step-100: #1a1a1a;
164
+    --ion-color-step-150: #262626;
165
+    --ion-color-step-200: #333333;
166
+    --ion-color-step-250: #404040;
167
+    --ion-color-step-300: #4d4d4d;
168
+    --ion-color-step-350: #595959;
169
+    --ion-color-step-400: #666666;
170
+    --ion-color-step-450: #737373;
171
+    --ion-color-step-500: #808080;
172
+    --ion-color-step-550: #8c8c8c;
173
+    --ion-color-step-600: #999999;
174
+    --ion-color-step-650: #a6a6a6;
175
+    --ion-color-step-700: #b3b3b3;
176
+    --ion-color-step-750: #bfbfbf;
177
+    --ion-color-step-800: #cccccc;
178
+    --ion-color-step-850: #d9d9d9;
179
+    --ion-color-step-900: #e6e6e6;
180
+    --ion-color-step-950: #f2f2f2;
181
+
182
+    --ion-item-background: #000000;
183
+
184
+    --ion-card-background: #1c1c1d;
185
+  }
186
+
187
+  .ios ion-modal {
188
+    --ion-background-color: var(--ion-color-step-100);
189
+    --ion-toolbar-background: var(--ion-color-step-150);
190
+    --ion-toolbar-border-color: var(--ion-color-step-250);
191
+  }
192
+
193
+
194
+  /*
195
+   * Material Design Dark Theme
196
+   * -------------------------------------------
197
+   */
198
+
199
+  .md body {
200
+    --ion-background-color: #121212;
201
+    --ion-background-color-rgb: 18,18,18;
202
+
203
+    --ion-text-color: #ffffff;
204
+    --ion-text-color-rgb: 255,255,255;
205
+
206
+    --ion-border-color: #222222;
207
+
208
+    --ion-color-step-50: #1e1e1e;
209
+    --ion-color-step-100: #2a2a2a;
210
+    --ion-color-step-150: #363636;
211
+    --ion-color-step-200: #414141;
212
+    --ion-color-step-250: #4d4d4d;
213
+    --ion-color-step-300: #595959;
214
+    --ion-color-step-350: #656565;
215
+    --ion-color-step-400: #717171;
216
+    --ion-color-step-450: #7d7d7d;
217
+    --ion-color-step-500: #898989;
218
+    --ion-color-step-550: #949494;
219
+    --ion-color-step-600: #a0a0a0;
220
+    --ion-color-step-650: #acacac;
221
+    --ion-color-step-700: #b8b8b8;
222
+    --ion-color-step-750: #c4c4c4;
223
+    --ion-color-step-800: #d0d0d0;
224
+    --ion-color-step-850: #dbdbdb;
225
+    --ion-color-step-900: #e7e7e7;
226
+    --ion-color-step-950: #f3f3f3;
227
+
228
+    --ion-item-background: #1e1e1e;
229
+
230
+    --ion-toolbar-background: #1f1f1f;
231
+
232
+    --ion-tab-bar-background: #1f1f1f;
233
+
234
+    --ion-card-background: #1e1e1e;
235
+  }
236
+}

+ 6 - 0
src/zone-flags.ts

@@ -0,0 +1,6 @@
1
+/**
2
+ * Prevents Angular change detection from
3
+ * running with certain Web Component callbacks
4
+ */
5
+// eslint-disable-next-line no-underscore-dangle
6
+(window as any).__Zone_disable_customElements = true;

+ 15 - 0
tsconfig.app.json

@@ -0,0 +1,15 @@
1
+/* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+{
3
+  "extends": "./tsconfig.json",
4
+  "compilerOptions": {
5
+    "outDir": "./out-tsc/app",
6
+    "types": []
7
+  },
8
+  "files": [
9
+    "src/main.ts",
10
+    "src/polyfills.ts"
11
+  ],
12
+  "include": [
13
+    "src/**/*.d.ts"
14
+  ]
15
+}

+ 23 - 0
tsconfig.json

@@ -0,0 +1,23 @@
1
+/* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+{
3
+  "compileOnSave": false,
4
+  "compilerOptions": {
5
+    "baseUrl": "./",
6
+    "outDir": "./dist/out-tsc",
7
+    "sourceMap": true,
8
+    "declaration": false,
9
+    "downlevelIteration": true,
10
+    "experimentalDecorators": true,
11
+    "moduleResolution": "node",
12
+    "importHelpers": true,
13
+    "target": "es2015",
14
+    "module": "es2020",
15
+    "lib": ["es2018", "dom"]
16
+  },
17
+  "angularCompilerOptions": {
18
+    "enableI18nLegacyMessageIdFormat": false,
19
+    "strictInjectionParameters": true,
20
+    "strictInputAccessModifiers": true,
21
+    "strictTemplates": true
22
+  }
23
+}

+ 18 - 0
tsconfig.spec.json

@@ -0,0 +1,18 @@
1
+/* To learn more about this file see: https://angular.io/config/tsconfig. */
2
+{
3
+  "extends": "./tsconfig.json",
4
+  "compilerOptions": {
5
+    "outDir": "./out-tsc/spec",
6
+    "types": [
7
+      "jasmine"
8
+    ]
9
+  },
10
+  "files": [
11
+    "src/test.ts",
12
+    "src/polyfills.ts"
13
+  ],
14
+  "include": [
15
+    "src/**/*.spec.ts",
16
+    "src/**/*.d.ts"
17
+  ]
18
+}

tum/ecoloop - Gogs: Simplico Git Service

暫無描述

er.dot 28KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673
  1. digraph model_graph {
  2. // Dotfile by Django-Extensions graph_models
  3. // Created: 2025-09-22 14:07
  4. // Cli Options: orgs recycle_core --group-models --disable-fields
  5. fontname = "Roboto"
  6. fontsize = 8
  7. splines = true
  8. rankdir = "TB"
  9. node [
  10. fontname = "Roboto"
  11. fontsize = 8
  12. shape = "plaintext"
  13. ]
  14. edge [
  15. fontname = "Roboto"
  16. fontsize = 8
  17. ]
  18. // Labels
  19. subgraph cluster_orgs {
  20. label=<
  21. <TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0">
  22. <TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER">
  23. <FONT FACE="Roboto" COLOR="Black" POINT-SIZE="10">
  24. <B>orgs</B>
  25. </FONT>
  26. </TD></TR>
  27. </TABLE>
  28. >
  29. color=olivedrab4
  30. style="rounded"
  31. orgs_models_TimestampedModel [label=<
  32. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  33. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  34. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  35. TimestampedModel
  36. </B></FONT></TD></TR>
  37. </TABLE>
  38. >]
  39. orgs_models_Organization [label=<
  40. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  41. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  42. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  43. Organization<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  44. </B></FONT></TD></TR>
  45. </TABLE>
  46. >]
  47. orgs_models_OrganizationSite [label=<
  48. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  49. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  50. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  51. OrganizationSite
  52. </B></FONT></TD></TR>
  53. </TABLE>
  54. >]
  55. orgs_models_UserProfile [label=<
  56. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  57. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  58. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  59. UserProfile<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  60. </B></FONT></TD></TR>
  61. </TABLE>
  62. >]
  63. }
  64. subgraph cluster_recycle_core {
  65. label=<
  66. <TABLE BORDER="0" CELLBORDER="0" CELLSPACING="0">
  67. <TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER">
  68. <FONT FACE="Roboto" COLOR="Black" POINT-SIZE="10">
  69. <B>recycle_core</B>
  70. </FONT>
  71. </TD></TR>
  72. </TABLE>
  73. >
  74. color=olivedrab4
  75. style="rounded"
  76. recycle_core_models_TimestampedModel [label=<
  77. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  78. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  79. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  80. TimestampedModel
  81. </B></FONT></TD></TR>
  82. </TABLE>
  83. >]
  84. recycle_core_models_MaterialCategory [label=<
  85. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  86. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  87. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  88. MaterialCategory<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  89. </B></FONT></TD></TR>
  90. </TABLE>
  91. >]
  92. recycle_core_models_ProvidedService [label=<
  93. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  94. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  95. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  96. ProvidedService<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  97. </B></FONT></TD></TR>
  98. </TABLE>
  99. >]
  100. recycle_core_models_Material [label=<
  101. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  102. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  103. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  104. Material<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  105. </B></FONT></TD></TR>
  106. </TABLE>
  107. >]
  108. recycle_core_models_MaterialImage [label=<
  109. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  110. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  111. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  112. MaterialImage<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  113. </B></FONT></TD></TR>
  114. </TABLE>
  115. >]
  116. recycle_core_models_PriceList [label=<
  117. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  118. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  119. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  120. PriceList<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  121. </B></FONT></TD></TR>
  122. </TABLE>
  123. >]
  124. recycle_core_models_PriceListItem [label=<
  125. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  126. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  127. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  128. PriceListItem<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  129. </B></FONT></TD></TR>
  130. </TABLE>
  131. >]
  132. recycle_core_models_Customer [label=<
  133. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  134. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  135. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  136. Customer<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  137. </B></FONT></TD></TR>
  138. </TABLE>
  139. >]
  140. recycle_core_models_CustomerSite [label=<
  141. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  142. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  143. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  144. CustomerSite<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  145. </B></FONT></TD></TR>
  146. </TABLE>
  147. >]
  148. recycle_core_models_ServiceAgreement [label=<
  149. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  150. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  151. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  152. ServiceAgreement<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  153. </B></FONT></TD></TR>
  154. </TABLE>
  155. >]
  156. recycle_core_models_PickupOrder [label=<
  157. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  158. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  159. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  160. PickupOrder<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  161. </B></FONT></TD></TR>
  162. </TABLE>
  163. >]
  164. recycle_core_models_PickupItem [label=<
  165. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  166. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  167. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  168. PickupItem<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  169. </B></FONT></TD></TR>
  170. </TABLE>
  171. >]
  172. recycle_core_models_WeighTicket [label=<
  173. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  174. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  175. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  176. WeighTicket<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  177. </B></FONT></TD></TR>
  178. </TABLE>
  179. >]
  180. recycle_core_models_WeighLine [label=<
  181. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  182. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  183. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  184. WeighLine<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  185. </B></FONT></TD></TR>
  186. </TABLE>
  187. >]
  188. recycle_core_models_Invoice [label=<
  189. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  190. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  191. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  192. Invoice<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  193. </B></FONT></TD></TR>
  194. </TABLE>
  195. >]
  196. recycle_core_models_InvoiceLine [label=<
  197. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  198. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  199. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  200. InvoiceLine<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  201. </B></FONT></TD></TR>
  202. </TABLE>
  203. >]
  204. recycle_core_models_Payment [label=<
  205. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  206. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  207. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  208. Payment<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  209. </B></FONT></TD></TR>
  210. </TABLE>
  211. >]
  212. recycle_core_models_Payout [label=<
  213. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  214. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  215. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  216. Payout<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  217. </B></FONT></TD></TR>
  218. </TABLE>
  219. >]
  220. recycle_core_models_Document [label=<
  221. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  222. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  223. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  224. Document<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  225. </B></FONT></TD></TR>
  226. </TABLE>
  227. >]
  228. recycle_core_models_AuditLog [label=<
  229. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  230. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  231. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  232. AuditLog<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  233. </B></FONT></TD></TR>
  234. </TABLE>
  235. >]
  236. recycle_core_models_ScrapListing [label=<
  237. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  238. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  239. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  240. ScrapListing<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  241. </B></FONT></TD></TR>
  242. </TABLE>
  243. >]
  244. recycle_core_models_ScrapListingItem [label=<
  245. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  246. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  247. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  248. ScrapListingItem<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  249. </B></FONT></TD></TR>
  250. </TABLE>
  251. >]
  252. recycle_core_models_ScrapBid [label=<
  253. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  254. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  255. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  256. ScrapBid<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  257. </B></FONT></TD></TR>
  258. </TABLE>
  259. >]
  260. recycle_core_models_ScrapAward [label=<
  261. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  262. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  263. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  264. ScrapAward<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  265. </B></FONT></TD></TR>
  266. </TABLE>
  267. >]
  268. recycle_core_models_ScrapListingInvite [label=<
  269. <TABLE BGCOLOR="white" BORDER="1" CELLBORDER="0" CELLSPACING="0">
  270. <TR><TD COLSPAN="2" CELLPADDING="5" ALIGN="CENTER" BGCOLOR="#1b563f">
  271. <FONT FACE="Roboto" COLOR="white" POINT-SIZE="10"><B>
  272. ScrapListingInvite<BR/>&lt;<FONT FACE="Roboto"><I>TimestampedModel</I></FONT>&gt;
  273. </B></FONT></TD></TR>
  274. </TABLE>
  275. >]
  276. }
  277. // Relations
  278. orgs_models_Organization -> orgs_models_TimestampedModel
  279. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  280. orgs_models_OrganizationSite -> orgs_models_Organization
  281. [label=" organization (sites)"] [arrowhead=none, arrowtail=dot, dir=both];
  282. django_contrib_sites_models_Site [label=<
  283. <TABLE BGCOLOR="white" BORDER="0" CELLBORDER="0" CELLSPACING="0">
  284. <TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="#1b563f">
  285. <FONT FACE="Roboto" POINT-SIZE="12" COLOR="white">Site</FONT>
  286. </TD></TR>
  287. </TABLE>
  288. >]
  289. orgs_models_OrganizationSite -> django_contrib_sites_models_Site
  290. [label=" site (organization_site)"] [arrowhead=none, arrowtail=none, dir=both];
  291. django_contrib_auth_models_User [label=<
  292. <TABLE BGCOLOR="white" BORDER="0" CELLBORDER="0" CELLSPACING="0">
  293. <TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="#1b563f">
  294. <FONT FACE="Roboto" POINT-SIZE="12" COLOR="white">User</FONT>
  295. </TD></TR>
  296. </TABLE>
  297. >]
  298. orgs_models_UserProfile -> django_contrib_auth_models_User
  299. [label=" user (recycle_profile)"] [arrowhead=none, arrowtail=none, dir=both];
  300. orgs_models_UserProfile -> orgs_models_Organization
  301. [label=" organization (users)"] [arrowhead=none, arrowtail=dot, dir=both];
  302. orgs_models_UserProfile -> orgs_models_TimestampedModel
  303. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  304. recycle_core_models_MaterialCategory -> orgs_models_Organization
  305. [label=" organization (material_categories)"] [arrowhead=none, arrowtail=dot, dir=both];
  306. recycle_core_models_MaterialCategory -> recycle_core_models_TimestampedModel
  307. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  308. recycle_core_models_ProvidedService -> orgs_models_Organization
  309. [label=" organization (services)"] [arrowhead=none, arrowtail=dot, dir=both];
  310. recycle_core_models_ProvidedService -> recycle_core_models_TimestampedModel
  311. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  312. recycle_core_models_Material -> orgs_models_Organization
  313. [label=" organization (materials)"] [arrowhead=none, arrowtail=dot, dir=both];
  314. recycle_core_models_Material -> recycle_core_models_TimestampedModel
  315. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  316. recycle_core_models_MaterialImage -> recycle_core_models_Material
  317. [label=" material (images)"] [arrowhead=none, arrowtail=dot, dir=both];
  318. recycle_core_models_MaterialImage -> recycle_core_models_TimestampedModel
  319. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  320. recycle_core_models_PriceList -> orgs_models_Organization
  321. [label=" organization (price_lists)"] [arrowhead=none, arrowtail=dot, dir=both];
  322. recycle_core_models_PriceList -> recycle_core_models_TimestampedModel
  323. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  324. recycle_core_models_PriceListItem -> recycle_core_models_PriceList
  325. [label=" price_list (items)"] [arrowhead=none, arrowtail=dot, dir=both];
  326. recycle_core_models_PriceListItem -> recycle_core_models_Material
  327. [label=" material (price_items)"] [arrowhead=none, arrowtail=dot, dir=both];
  328. recycle_core_models_PriceListItem -> recycle_core_models_TimestampedModel
  329. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  330. recycle_core_models_Customer -> orgs_models_Organization
  331. [label=" organization (customers)"] [arrowhead=none, arrowtail=dot, dir=both];
  332. recycle_core_models_Customer -> recycle_core_models_PriceList
  333. [label=" price_list (customers)"] [arrowhead=none, arrowtail=dot, dir=both];
  334. recycle_core_models_Customer -> recycle_core_models_TimestampedModel
  335. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  336. recycle_core_models_CustomerSite -> recycle_core_models_Customer
  337. [label=" customer (sites)"] [arrowhead=none, arrowtail=dot, dir=both];
  338. recycle_core_models_CustomerSite -> recycle_core_models_TimestampedModel
  339. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  340. recycle_core_models_ServiceAgreement -> recycle_core_models_Customer
  341. [label=" customer (agreements)"] [arrowhead=none, arrowtail=dot, dir=both];
  342. recycle_core_models_ServiceAgreement -> recycle_core_models_CustomerSite
  343. [label=" site (agreements)"] [arrowhead=none, arrowtail=dot, dir=both];
  344. recycle_core_models_ServiceAgreement -> recycle_core_models_PriceList
  345. [label=" price_list (agreements)"] [arrowhead=none, arrowtail=dot, dir=both];
  346. recycle_core_models_ServiceAgreement -> recycle_core_models_TimestampedModel
  347. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  348. recycle_core_models_PickupOrder -> orgs_models_Organization
  349. [label=" organization (pickup_orders)"] [arrowhead=none, arrowtail=dot, dir=both];
  350. recycle_core_models_PickupOrder -> recycle_core_models_Customer
  351. [label=" customer (pickup_orders)"] [arrowhead=none, arrowtail=dot, dir=both];
  352. recycle_core_models_PickupOrder -> recycle_core_models_CustomerSite
  353. [label=" site (pickup_orders)"] [arrowhead=none, arrowtail=dot, dir=both];
  354. django_contrib_auth_models_User [label=<
  355. <TABLE BGCOLOR="white" BORDER="0" CELLBORDER="0" CELLSPACING="0">
  356. <TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="#1b563f">
  357. <FONT FACE="Roboto" POINT-SIZE="12" COLOR="white">User</FONT>
  358. </TD></TR>
  359. </TABLE>
  360. >]
  361. recycle_core_models_PickupOrder -> django_contrib_auth_models_User
  362. [label=" assigned_driver (assigned_pickups)"] [arrowhead=none, arrowtail=dot, dir=both];
  363. django_contrib_auth_models_User [label=<
  364. <TABLE BGCOLOR="white" BORDER="0" CELLBORDER="0" CELLSPACING="0">
  365. <TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="#1b563f">
  366. <FONT FACE="Roboto" POINT-SIZE="12" COLOR="white">User</FONT>
  367. </TD></TR>
  368. </TABLE>
  369. >]
  370. recycle_core_models_PickupOrder -> django_contrib_auth_models_User
  371. [label=" created_by (created_pickups)"] [arrowhead=none, arrowtail=dot, dir=both];
  372. recycle_core_models_PickupOrder -> recycle_core_models_TimestampedModel
  373. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  374. recycle_core_models_PickupItem -> recycle_core_models_PickupOrder
  375. [label=" pickup (items)"] [arrowhead=none, arrowtail=dot, dir=both];
  376. recycle_core_models_PickupItem -> recycle_core_models_Material
  377. [label=" material (pickupitem)"] [arrowhead=none, arrowtail=dot, dir=both];
  378. recycle_core_models_PickupItem -> recycle_core_models_TimestampedModel
  379. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  380. recycle_core_models_WeighTicket -> recycle_core_models_PickupOrder
  381. [label=" pickup (weigh_ticket)"] [arrowhead=none, arrowtail=none, dir=both];
  382. django_contrib_auth_models_User [label=<
  383. <TABLE BGCOLOR="white" BORDER="0" CELLBORDER="0" CELLSPACING="0">
  384. <TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="#1b563f">
  385. <FONT FACE="Roboto" POINT-SIZE="12" COLOR="white">User</FONT>
  386. </TD></TR>
  387. </TABLE>
  388. >]
  389. recycle_core_models_WeighTicket -> django_contrib_auth_models_User
  390. [label=" recorded_by (weigh_tickets)"] [arrowhead=none, arrowtail=dot, dir=both];
  391. recycle_core_models_WeighTicket -> recycle_core_models_TimestampedModel
  392. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  393. recycle_core_models_WeighLine -> recycle_core_models_WeighTicket
  394. [label=" ticket (lines)"] [arrowhead=none, arrowtail=dot, dir=both];
  395. recycle_core_models_WeighLine -> recycle_core_models_Material
  396. [label=" material (weighline)"] [arrowhead=none, arrowtail=dot, dir=both];
  397. recycle_core_models_WeighLine -> recycle_core_models_TimestampedModel
  398. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  399. recycle_core_models_Invoice -> orgs_models_Organization
  400. [label=" organization (invoices)"] [arrowhead=none, arrowtail=dot, dir=both];
  401. recycle_core_models_Invoice -> recycle_core_models_Customer
  402. [label=" customer (invoices)"] [arrowhead=none, arrowtail=dot, dir=both];
  403. recycle_core_models_Invoice -> recycle_core_models_PickupOrder
  404. [label=" pickup (invoices)"] [arrowhead=none, arrowtail=dot, dir=both];
  405. recycle_core_models_Invoice -> recycle_core_models_TimestampedModel
  406. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  407. recycle_core_models_InvoiceLine -> recycle_core_models_Invoice
  408. [label=" invoice (lines)"] [arrowhead=none, arrowtail=dot, dir=both];
  409. recycle_core_models_InvoiceLine -> recycle_core_models_Material
  410. [label=" material (invoiceline)"] [arrowhead=none, arrowtail=dot, dir=both];
  411. recycle_core_models_InvoiceLine -> recycle_core_models_TimestampedModel
  412. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  413. recycle_core_models_Payment -> recycle_core_models_Invoice
  414. [label=" invoice (payments)"] [arrowhead=none, arrowtail=dot, dir=both];
  415. recycle_core_models_Payment -> recycle_core_models_TimestampedModel
  416. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  417. recycle_core_models_Payout -> orgs_models_Organization
  418. [label=" organization (payouts)"] [arrowhead=none, arrowtail=dot, dir=both];
  419. recycle_core_models_Payout -> recycle_core_models_Customer
  420. [label=" customer (payouts)"] [arrowhead=none, arrowtail=dot, dir=both];
  421. recycle_core_models_Payout -> recycle_core_models_PickupOrder
  422. [label=" pickup (payouts)"] [arrowhead=none, arrowtail=dot, dir=both];
  423. recycle_core_models_Payout -> recycle_core_models_TimestampedModel
  424. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  425. recycle_core_models_Document -> orgs_models_Organization
  426. [label=" organization (documents)"] [arrowhead=none, arrowtail=dot, dir=both];
  427. django_contrib_contenttypes_models_ContentType [label=<
  428. <TABLE BGCOLOR="white" BORDER="0" CELLBORDER="0" CELLSPACING="0">
  429. <TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="#1b563f">
  430. <FONT FACE="Roboto" POINT-SIZE="12" COLOR="white">ContentType</FONT>
  431. </TD></TR>
  432. </TABLE>
  433. >]
  434. recycle_core_models_Document -> django_contrib_contenttypes_models_ContentType
  435. [label=" content_type (document)"] [arrowhead=none, arrowtail=dot, dir=both];
  436. django_contrib_auth_models_User [label=<
  437. <TABLE BGCOLOR="white" BORDER="0" CELLBORDER="0" CELLSPACING="0">
  438. <TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="#1b563f">
  439. <FONT FACE="Roboto" POINT-SIZE="12" COLOR="white">User</FONT>
  440. </TD></TR>
  441. </TABLE>
  442. >]
  443. recycle_core_models_Document -> django_contrib_auth_models_User
  444. [label=" uploaded_by (document)"] [arrowhead=none, arrowtail=dot, dir=both];
  445. recycle_core_models_Document -> recycle_core_models_TimestampedModel
  446. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  447. recycle_core_models_AuditLog -> orgs_models_Organization
  448. [label=" organization (audit_logs)"] [arrowhead=none, arrowtail=dot, dir=both];
  449. django_contrib_auth_models_User [label=<
  450. <TABLE BGCOLOR="white" BORDER="0" CELLBORDER="0" CELLSPACING="0">
  451. <TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="#1b563f">
  452. <FONT FACE="Roboto" POINT-SIZE="12" COLOR="white">User</FONT>
  453. </TD></TR>
  454. </TABLE>
  455. >]
  456. recycle_core_models_AuditLog -> django_contrib_auth_models_User
  457. [label=" user (auditlog)"] [arrowhead=none, arrowtail=dot, dir=both];
  458. django_contrib_contenttypes_models_ContentType [label=<
  459. <TABLE BGCOLOR="white" BORDER="0" CELLBORDER="0" CELLSPACING="0">
  460. <TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="#1b563f">
  461. <FONT FACE="Roboto" POINT-SIZE="12" COLOR="white">ContentType</FONT>
  462. </TD></TR>
  463. </TABLE>
  464. >]
  465. recycle_core_models_AuditLog -> django_contrib_contenttypes_models_ContentType
  466. [label=" content_type (auditlog)"] [arrowhead=none, arrowtail=dot, dir=both];
  467. recycle_core_models_AuditLog -> recycle_core_models_TimestampedModel
  468. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  469. recycle_core_models_ScrapListing -> orgs_models_Organization
  470. [label=" organization (scrap_listings)"] [arrowhead=none, arrowtail=dot, dir=both];
  471. recycle_core_models_ScrapListing -> recycle_core_models_Customer
  472. [label=" customer (scrap_listings)"] [arrowhead=none, arrowtail=dot, dir=both];
  473. recycle_core_models_ScrapListing -> recycle_core_models_CustomerSite
  474. [label=" site (scrap_listings)"] [arrowhead=none, arrowtail=dot, dir=both];
  475. django_contrib_auth_models_User [label=<
  476. <TABLE BGCOLOR="white" BORDER="0" CELLBORDER="0" CELLSPACING="0">
  477. <TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="#1b563f">
  478. <FONT FACE="Roboto" POINT-SIZE="12" COLOR="white">User</FONT>
  479. </TD></TR>
  480. </TABLE>
  481. >]
  482. recycle_core_models_ScrapListing -> django_contrib_auth_models_User
  483. [label=" created_by (created_listings)"] [arrowhead=none, arrowtail=dot, dir=both];
  484. recycle_core_models_ScrapListing -> recycle_core_models_TimestampedModel
  485. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  486. recycle_core_models_ScrapListingItem -> recycle_core_models_ScrapListing
  487. [label=" listing (items)"] [arrowhead=none, arrowtail=dot, dir=both];
  488. recycle_core_models_ScrapListingItem -> recycle_core_models_Material
  489. [label=" material (scraplistingitem)"] [arrowhead=none, arrowtail=dot, dir=both];
  490. recycle_core_models_ScrapListingItem -> recycle_core_models_TimestampedModel
  491. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  492. recycle_core_models_ScrapBid -> recycle_core_models_ScrapListing
  493. [label=" listing (bids)"] [arrowhead=none, arrowtail=dot, dir=both];
  494. recycle_core_models_ScrapBid -> orgs_models_Organization
  495. [label=" bidder_org (bids)"] [arrowhead=none, arrowtail=dot, dir=both];
  496. django_contrib_auth_models_User [label=<
  497. <TABLE BGCOLOR="white" BORDER="0" CELLBORDER="0" CELLSPACING="0">
  498. <TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="#1b563f">
  499. <FONT FACE="Roboto" POINT-SIZE="12" COLOR="white">User</FONT>
  500. </TD></TR>
  501. </TABLE>
  502. >]
  503. recycle_core_models_ScrapBid -> django_contrib_auth_models_User
  504. [label=" bidder_user (bids)"] [arrowhead=none, arrowtail=dot, dir=both];
  505. recycle_core_models_ScrapBid -> recycle_core_models_TimestampedModel
  506. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  507. recycle_core_models_ScrapAward -> recycle_core_models_ScrapListing
  508. [label=" listing (award)"] [arrowhead=none, arrowtail=none, dir=both];
  509. recycle_core_models_ScrapAward -> recycle_core_models_ScrapBid
  510. [label=" winning_bid (awards)"] [arrowhead=none, arrowtail=dot, dir=both];
  511. recycle_core_models_ScrapAward -> recycle_core_models_PickupOrder
  512. [label=" pickup (awards)"] [arrowhead=none, arrowtail=dot, dir=both];
  513. recycle_core_models_ScrapAward -> recycle_core_models_TimestampedModel
  514. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  515. recycle_core_models_ScrapListingInvite -> recycle_core_models_ScrapListing
  516. [label=" listing (invites)"] [arrowhead=none, arrowtail=dot, dir=both];
  517. recycle_core_models_ScrapListingInvite -> orgs_models_Organization
  518. [label=" invited_org (listing_invites)"] [arrowhead=none, arrowtail=dot, dir=both];
  519. django_contrib_auth_models_User [label=<
  520. <TABLE BGCOLOR="white" BORDER="0" CELLBORDER="0" CELLSPACING="0">
  521. <TR><TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="#1b563f">
  522. <FONT FACE="Roboto" POINT-SIZE="12" COLOR="white">User</FONT>
  523. </TD></TR>
  524. </TABLE>
  525. >]
  526. recycle_core_models_ScrapListingInvite -> django_contrib_auth_models_User
  527. [label=" invited_user (listing_invites)"] [arrowhead=none, arrowtail=dot, dir=both];
  528. recycle_core_models_ScrapListingInvite -> recycle_core_models_TimestampedModel
  529. [label=" abstract\ninheritance"] [arrowhead=empty, arrowtail=none, dir=both];
  530. }