Erweiterungen
This commit is contained in:
1 parent
1f4234e381
commit
dd88480f29
4 files changed
+345
-147
No files matched your search
@@ -77,8 +77,6 @@ class MyApp extends StatelessWidget {
|
||||
|
||||
Geolocator.getPositionStream(locationSettings: locationSettings).listen((Position? position) {
|
||||
MyApp.currentPosition = position;
|
||||
|
||||
Util.logInfo(position == null ? 'Unknown' : '${position.latitude.toString()}, ${position.longitude.toString()}');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,7 +74,8 @@ const JobSchema = CollectionSchema(
|
||||
embeddedSchemas: {
|
||||
r'JobTour': JobTourSchema,
|
||||
r'TourPosition': TourPositionSchema,
|
||||
r'TourTask': TourTaskSchema
|
||||
r'TourTask': TourTaskSchema,
|
||||
r'TourEntry': TourEntrySchema
|
||||
},
|
||||
getId: _jobGetId,
|
||||
getLinks: _jobGetLinks,
|
||||
|
||||
@@ -23,7 +23,7 @@ class TourTask {
|
||||
late int? taskArrival;
|
||||
@JsonKey(name: 'task_fin_work')
|
||||
late int? taskFinWork;
|
||||
late List<String>? entries;
|
||||
late List<TourEntry>? entries;
|
||||
|
||||
TourTask();
|
||||
|
||||
@@ -31,3 +31,20 @@ class TourTask {
|
||||
|
||||
Map<String, dynamic> toJson() => _$TourTaskToJson(this);
|
||||
}
|
||||
|
||||
@embedded
|
||||
@JsonSerializable()
|
||||
class TourEntry {
|
||||
late int code;
|
||||
|
||||
late String text;
|
||||
|
||||
@JsonKey(name: 'query_remark')
|
||||
late bool queryRemark;
|
||||
|
||||
TourEntry();
|
||||
|
||||
factory TourEntry.fromJson(Map<String, dynamic> json) => _$TourEntryFromJson(json);
|
||||
|
||||
Map<String, dynamic> toJson() => _$TourEntryToJson(this);
|
||||
}
|
||||
+325
-143
@@ -16,7 +16,8 @@ const TourTaskSchema = Schema(
|
||||
r'entries': PropertySchema(
|
||||
id: 0,
|
||||
name: r'entries',
|
||||
type: IsarType.stringList,
|
||||
type: IsarType.objectList,
|
||||
target: r'TourEntry',
|
||||
),
|
||||
r'max': PropertySchema(
|
||||
id: 1,
|
||||
@@ -101,9 +102,11 @@ int _tourTaskEstimateSize(
|
||||
if (list != null) {
|
||||
bytesCount += 3 + list.length * 3;
|
||||
{
|
||||
final offsets = allOffsets[TourEntry]!;
|
||||
for (var i = 0; i < list.length; i++) {
|
||||
final value = list[i];
|
||||
bytesCount += value.length * 3;
|
||||
bytesCount +=
|
||||
TourEntrySchema.estimateSize(value, offsets, allOffsets);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -130,7 +133,12 @@ void _tourTaskSerialize(
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
writer.writeStringList(offsets[0], object.entries);
|
||||
writer.writeObjectList<TourEntry>(
|
||||
offsets[0],
|
||||
allOffsets,
|
||||
TourEntrySchema.serialize,
|
||||
object.entries,
|
||||
);
|
||||
writer.writeLong(offsets[1], object.max);
|
||||
writer.writeLong(offsets[2], object.maxLen);
|
||||
writer.writeLong(offsets[3], object.min);
|
||||
@@ -153,7 +161,12 @@ TourTask _tourTaskDeserialize(
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
final object = TourTask();
|
||||
object.entries = reader.readStringList(offsets[0]);
|
||||
object.entries = reader.readObjectList<TourEntry>(
|
||||
offsets[0],
|
||||
TourEntrySchema.deserialize,
|
||||
allOffsets,
|
||||
TourEntry(),
|
||||
);
|
||||
object.max = reader.readLongOrNull(offsets[1]);
|
||||
object.maxLen = reader.readLongOrNull(offsets[2]);
|
||||
object.min = reader.readLongOrNull(offsets[3]);
|
||||
@@ -178,7 +191,12 @@ P _tourTaskDeserializeProp<P>(
|
||||
) {
|
||||
switch (propertyId) {
|
||||
case 0:
|
||||
return (reader.readStringList(offset)) as P;
|
||||
return (reader.readObjectList<TourEntry>(
|
||||
offset,
|
||||
TourEntrySchema.deserialize,
|
||||
allOffsets,
|
||||
TourEntry(),
|
||||
)) as P;
|
||||
case 1:
|
||||
return (reader.readLongOrNull(offset)) as P;
|
||||
case 2:
|
||||
@@ -228,141 +246,6 @@ extension TourTaskQueryFilter
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourTask, TourTask, QAfterFilterCondition> entriesElementEqualTo(
|
||||
String value, {
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.equalTo(
|
||||
property: r'entries',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourTask, TourTask, QAfterFilterCondition>
|
||||
entriesElementGreaterThan(
|
||||
String value, {
|
||||
bool include = false,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'entries',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourTask, TourTask, QAfterFilterCondition>
|
||||
entriesElementLessThan(
|
||||
String value, {
|
||||
bool include = false,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'entries',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourTask, TourTask, QAfterFilterCondition> entriesElementBetween(
|
||||
String lower,
|
||||
String upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.between(
|
||||
property: r'entries',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
caseSensitive: caseSensitive,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourTask, TourTask, QAfterFilterCondition>
|
||||
entriesElementStartsWith(
|
||||
String value, {
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.startsWith(
|
||||
property: r'entries',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourTask, TourTask, QAfterFilterCondition>
|
||||
entriesElementEndsWith(
|
||||
String value, {
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.endsWith(
|
||||
property: r'entries',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourTask, TourTask, QAfterFilterCondition>
|
||||
entriesElementContains(String value, {bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.contains(
|
||||
property: r'entries',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourTask, TourTask, QAfterFilterCondition> entriesElementMatches(
|
||||
String pattern,
|
||||
{bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.matches(
|
||||
property: r'entries',
|
||||
wildcard: pattern,
|
||||
caseSensitive: caseSensitive,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourTask, TourTask, QAfterFilterCondition>
|
||||
entriesElementIsEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.equalTo(
|
||||
property: r'entries',
|
||||
value: '',
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourTask, TourTask, QAfterFilterCondition>
|
||||
entriesElementIsNotEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||
property: r'entries',
|
||||
value: '',
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourTask, TourTask, QAfterFilterCondition> entriesLengthEqualTo(
|
||||
int length) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
@@ -1370,7 +1253,294 @@ extension TourTaskQueryFilter
|
||||
}
|
||||
|
||||
extension TourTaskQueryObject
|
||||
on QueryBuilder<TourTask, TourTask, QFilterCondition> {}
|
||||
on QueryBuilder<TourTask, TourTask, QFilterCondition> {
|
||||
QueryBuilder<TourTask, TourTask, QAfterFilterCondition> entriesElement(
|
||||
FilterQuery<TourEntry> q) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.object(q, r'entries');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// coverage:ignore-file
|
||||
// ignore_for_file: duplicate_ignore, non_constant_identifier_names, constant_identifier_names, invalid_use_of_protected_member, unnecessary_cast, prefer_const_constructors, lines_longer_than_80_chars, require_trailing_commas, inference_failure_on_function_invocation, unnecessary_parenthesis, unnecessary_raw_strings, unnecessary_null_checks, join_return_with_assignment, prefer_final_locals, avoid_js_rounded_ints, avoid_positional_boolean_parameters, always_specify_types
|
||||
|
||||
const TourEntrySchema = Schema(
|
||||
name: r'TourEntry',
|
||||
id: 5357864103781579158,
|
||||
properties: {
|
||||
r'code': PropertySchema(
|
||||
id: 0,
|
||||
name: r'code',
|
||||
type: IsarType.long,
|
||||
),
|
||||
r'queryRemark': PropertySchema(
|
||||
id: 1,
|
||||
name: r'queryRemark',
|
||||
type: IsarType.bool,
|
||||
),
|
||||
r'text': PropertySchema(
|
||||
id: 2,
|
||||
name: r'text',
|
||||
type: IsarType.string,
|
||||
)
|
||||
},
|
||||
estimateSize: _tourEntryEstimateSize,
|
||||
serialize: _tourEntrySerialize,
|
||||
deserialize: _tourEntryDeserialize,
|
||||
deserializeProp: _tourEntryDeserializeProp,
|
||||
);
|
||||
|
||||
int _tourEntryEstimateSize(
|
||||
TourEntry object,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
var bytesCount = offsets.last;
|
||||
bytesCount += 3 + object.text.length * 3;
|
||||
return bytesCount;
|
||||
}
|
||||
|
||||
void _tourEntrySerialize(
|
||||
TourEntry object,
|
||||
IsarWriter writer,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
writer.writeLong(offsets[0], object.code);
|
||||
writer.writeBool(offsets[1], object.queryRemark);
|
||||
writer.writeString(offsets[2], object.text);
|
||||
}
|
||||
|
||||
TourEntry _tourEntryDeserialize(
|
||||
Id id,
|
||||
IsarReader reader,
|
||||
List<int> offsets,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
final object = TourEntry();
|
||||
object.code = reader.readLong(offsets[0]);
|
||||
object.queryRemark = reader.readBool(offsets[1]);
|
||||
object.text = reader.readString(offsets[2]);
|
||||
return object;
|
||||
}
|
||||
|
||||
P _tourEntryDeserializeProp<P>(
|
||||
IsarReader reader,
|
||||
int propertyId,
|
||||
int offset,
|
||||
Map<Type, List<int>> allOffsets,
|
||||
) {
|
||||
switch (propertyId) {
|
||||
case 0:
|
||||
return (reader.readLong(offset)) as P;
|
||||
case 1:
|
||||
return (reader.readBool(offset)) as P;
|
||||
case 2:
|
||||
return (reader.readString(offset)) as P;
|
||||
default:
|
||||
throw IsarError('Unknown property with id $propertyId');
|
||||
}
|
||||
}
|
||||
|
||||
extension TourEntryQueryFilter
|
||||
on QueryBuilder<TourEntry, TourEntry, QFilterCondition> {
|
||||
QueryBuilder<TourEntry, TourEntry, QAfterFilterCondition> codeEqualTo(
|
||||
int value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.equalTo(
|
||||
property: r'code',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourEntry, TourEntry, QAfterFilterCondition> codeGreaterThan(
|
||||
int value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'code',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourEntry, TourEntry, QAfterFilterCondition> codeLessThan(
|
||||
int value, {
|
||||
bool include = false,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'code',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourEntry, TourEntry, QAfterFilterCondition> codeBetween(
|
||||
int lower,
|
||||
int upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.between(
|
||||
property: r'code',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourEntry, TourEntry, QAfterFilterCondition> queryRemarkEqualTo(
|
||||
bool value) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.equalTo(
|
||||
property: r'queryRemark',
|
||||
value: value,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourEntry, TourEntry, QAfterFilterCondition> textEqualTo(
|
||||
String value, {
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.equalTo(
|
||||
property: r'text',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourEntry, TourEntry, QAfterFilterCondition> textGreaterThan(
|
||||
String value, {
|
||||
bool include = false,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||
include: include,
|
||||
property: r'text',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourEntry, TourEntry, QAfterFilterCondition> textLessThan(
|
||||
String value, {
|
||||
bool include = false,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.lessThan(
|
||||
include: include,
|
||||
property: r'text',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourEntry, TourEntry, QAfterFilterCondition> textBetween(
|
||||
String lower,
|
||||
String upper, {
|
||||
bool includeLower = true,
|
||||
bool includeUpper = true,
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.between(
|
||||
property: r'text',
|
||||
lower: lower,
|
||||
includeLower: includeLower,
|
||||
upper: upper,
|
||||
includeUpper: includeUpper,
|
||||
caseSensitive: caseSensitive,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourEntry, TourEntry, QAfterFilterCondition> textStartsWith(
|
||||
String value, {
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.startsWith(
|
||||
property: r'text',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourEntry, TourEntry, QAfterFilterCondition> textEndsWith(
|
||||
String value, {
|
||||
bool caseSensitive = true,
|
||||
}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.endsWith(
|
||||
property: r'text',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourEntry, TourEntry, QAfterFilterCondition> textContains(
|
||||
String value,
|
||||
{bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.contains(
|
||||
property: r'text',
|
||||
value: value,
|
||||
caseSensitive: caseSensitive,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourEntry, TourEntry, QAfterFilterCondition> textMatches(
|
||||
String pattern,
|
||||
{bool caseSensitive = true}) {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.matches(
|
||||
property: r'text',
|
||||
wildcard: pattern,
|
||||
caseSensitive: caseSensitive,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourEntry, TourEntry, QAfterFilterCondition> textIsEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.equalTo(
|
||||
property: r'text',
|
||||
value: '',
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
QueryBuilder<TourEntry, TourEntry, QAfterFilterCondition> textIsNotEmpty() {
|
||||
return QueryBuilder.apply(this, (query) {
|
||||
return query.addFilterCondition(FilterCondition.greaterThan(
|
||||
property: r'text',
|
||||
value: '',
|
||||
));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
extension TourEntryQueryObject
|
||||
on QueryBuilder<TourEntry, TourEntry, QFilterCondition> {}
|
||||
|
||||
// **************************************************************************
|
||||
// JsonSerializableGenerator
|
||||
@@ -1390,8 +1560,9 @@ TourTask _$TourTaskFromJson(Map<String, dynamic> json) => TourTask()
|
||||
..txt = (json['txt'] as List<dynamic>?)?.map((e) => e as String).toList()
|
||||
..taskArrival = json['task_arrival'] as int?
|
||||
..taskFinWork = json['task_fin_work'] as int?
|
||||
..entries =
|
||||
(json['entries'] as List<dynamic>?)?.map((e) => e as String).toList();
|
||||
..entries = (json['entries'] as List<dynamic>?)
|
||||
?.map((e) => TourEntry.fromJson(e as Map<String, dynamic>))
|
||||
.toList();
|
||||
|
||||
Map<String, dynamic> _$TourTaskToJson(TourTask instance) => <String, dynamic>{
|
||||
's_id': instance.sId,
|
||||
@@ -1409,3 +1580,14 @@ Map<String, dynamic> _$TourTaskToJson(TourTask instance) => <String, dynamic>{
|
||||
'task_fin_work': instance.taskFinWork,
|
||||
'entries': instance.entries,
|
||||
};
|
||||
|
||||
TourEntry _$TourEntryFromJson(Map<String, dynamic> json) => TourEntry()
|
||||
..code = json['code'] as int
|
||||
..text = json['text'] as String
|
||||
..queryRemark = json['query_remark'] as bool;
|
||||
|
||||
Map<String, dynamic> _$TourEntryToJson(TourEntry instance) => <String, dynamic>{
|
||||
'code': instance.code,
|
||||
'text': instance.text,
|
||||
'query_remark': instance.queryRemark,
|
||||
};
|
||||
Reference in new issue
Block a user